segment tree,  lazy mark...