K
void revert(int from, int to) {
CartesianTreePair o1 = split(ones, from-1);
CartesianTreePair o2 = split(o1.right, to);
CartesianTreePair z1 = split(zeroes, from-1);
CartesianTreePair z2 = split(z1.right, to);
ones = union(o1.left, union(z2.left, o2.right));
zeroes = union(z1.left, union(o2.left, z2.right));
}

