#include #include using namespace std; #include using namespace atcoder; using ll = long long; int N; vector A; void solve(){ if(N < 5){ vector p1(N); iota(p1.begin(),p1.end(),1); do{ vector p2(N); iota(p2.begin(),p2.end(),1); do{ if(p1 == p2){ continue; } int xorsum = 0; for(int i = 0;i st; for(int i = 0;i a(N),b(N); vector bin[4]; for(int i = 0;i 1){ int l = bin[0][0]; int r = bin[0][1]; a[l] = 1; a[r] = 3; b[r] = 1; b[l] = 3; st.erase(1); st.erase(3); }else if(bin[1].size() >1){ int l = bin[1][0]; int r = bin[1][1]; a[l] = 1; a[r] = 2; b[r] = 1; b[l] = 2; st.erase(1); st.erase(2); }else if(bin[2].size() > 1){ int l = bin[2][0]; int r = bin[2][1]; a[l] = 2; a[r] = 3; b[r] = 2; b[l] = 3; st.erase(2); st.erase(3); }else if(bin[3].size() > 1){ int l = bin[3][0]; int r = bin[3][1]; a[l] = 1; a[r] = 3; b[r] = 1; b[l] = 3; st.erase(1); st.erase(3); }else{ cout<<-1<> N; A = vector(N); for (int i = 0; i < N; i++) { cin >> A[i]; } solve(); }