Segment Tree done :D