++treap 0(n)