#include<iostream> using namespace std; int N; long X,Y,A[2<<17]; int P[2<<17]; main() { cin>>N>>A[0]>>Y; for(int i=1;i<=N;i++) { cin>>A[i]; P[i]=3; } long x=Y,y=0; for(int i=N;i>=0;i--) { if(A[i]&~(x|y)) { if(x&~A[i]) { cout<<-1<<endl; return 0; } P[i]=1; y|=~A[i]; } else { P[i]=2; x&=~A[i]; y|=A[i]; if(x==0) { P[i]=3; break; } } } if(x!=0)cout<<-1<<endl; else { for(int i=1;i<=N;i++)cout<<P[i]<<(i==N?"\n":" "); } }