#include using namespace std; int main(){ long long N,X,Y;cin>>N>>X>>Y; vector A(N+1,X);for(int i=1;i<=N;i++)cin>>A[i]; vector target(60),P(N,1);for(int i=0;i<60;i++)target[i]=Y>>i&1; for(int i=N;i>=0;i--){ bool S=false,T=false; for(int bit=0;bit<60;bit++)if(target[bit]!=2&&target[bit]!=(A[i]>>bit&1)){ if(target[bit]==1)S=true; else T=true; } if((S&&T)||((S||T)&&i==0)){cout<<-1<>bit&1)==1)target[bit]=2; } else if(T){ for(int bit=0;bit<60;bit++)if(target[bit]==0&&(A[i]>>bit&1)==0)target[bit]=2; } else{ if(i)P[i-1]=3; for(int j=0;j