voidmerge(int &i, int j, int l, int r){ if (!i) return i = j, void(); if (!j) return ; if (l == r) { T[i].s += T[j].s, T[i].v = l; if (!T[i].s) T[i].v = 0; return ; } int m = l + r >> 1; pushdown(i, l, r); merge(lc, Lc, l, m); merge(rc, Rc, m + 1, r); maintain(i); }