#include #include #include int b, control = 1; int x[200010]; void func(int L, int R, int C) { //printf("%d %d %d!!\n",L,R,C); if(L>R) return; if(C<0) return; std::vector V1,V2; for(int i=L;i<=R;i++) { if(((x[i]>>C)&1)==1) V2.push_back(x[i]); else V1.push_back(x[i]); } if(((b>>C)&1)==0) { for(int i=L;i