unique
added some more  macros
updated segtree rmq