| 5 | : x(_x), y(_y), sz(1), l(NULL), r(NULL) { } }; |
| 6 | int tsize(node* t) { return t ? t->sz : 0; } |
| 7 | void augment(node *t) { |
| 8 | t->sz = 1 + tsize(t->l) + tsize(t->r); } |
| 9 | pair<node*,node*> split(node *t, int x) { |
| 10 | if (!t) return make_pair((node*)NULL,(node*)NULL); |
| 11 | if (t->x < x) { |