segment tree
segment tree