a[100000],m;c(int*a,int*b){return*a-*b;}x(int*a,int n,int i){int l=0,u=n;for(;u-l>1;a[m=l+u>>1]>>i&1?u=m:(l=m));return i+1?(*a^a[n-1])>>i&1?1<