pull(p);
}
void modify(int p, const Info &v) {
modify(1, 0, n, p, v);
}
Info rangeQuery...>= x && r <= y) {
return info[p];
}
int m = (l + r) / 2;
return rangeQuery...(2 * p, l, m, x, y) + rangeQuery(2 * p + 1, m, r, x, y);
}
Info rangeQuery(int l, int r) {...return rangeQuery(1, 0, n, l, r);
}
template
int findFirst(int p, int l, int r,