#pragma GCC optimize("Ofast") #define rd() ({long _v=0,_c;while(_c=*rp++-48,_c>=0)_v=_v*10+_c;_v;}) #define rep(v,e) for(long v=0;v>8; } } void radix_sort(ulong*a,int n){ static ulong b[200000]; radix_sort_aux(a,b,n); radix_sort_aux(b,a,n); radix_sort_aux(a,b,n); radix_sort_aux(b,a,n); } ulong a[200000]; int main(){ char*mmap(); char*rp=mmap(0l,1l<<25,1,2,0,0ll); long n=rd(); long x=rd(); rep(i,n){ long y=rd(); a[i]=y<<32|y+(y^x); } radix_sort(a,n); rep(i,n-1){ if(a[i]>=(a[i+1]^x)|(a[i]^x)>=a[i+1]){ write(1,"No",2); _exit(0); } } write(1,"Yes",3); _exit(0); }