#include <iostream> using namespace std; int n, ans[7], p[501]; void print(){ for(int j = 1; j <= 6; j++) cout << ans[j] << " "; cout << endl; } bool check(){ for(int j = 1; j <= 6; j++) if(ans[j] == j) return false; if(n == 1) return true; if(ans[p[0]] == p[1] || p[0] == p[1]) return false; for(int j = 1; j < n-1; j++) if(ans[p[j]] == p[j-1] || p[j] == p[j-1] || p[j] == p[j+1] || ans[p[j]] == p[j+1]) return false; if(ans[p[n-1]] == p[n-2] || p[n-1] == p[n-2]) return false; return true; } bool foo(int mask, int curr){ if(mask == ((1 << 6) - 1)){ print(); return false; } for(int j = 0; j < 6; j++){ if(((1 << j)&mask)) continue; ans[j+1] = curr; bool temp = foo((mask | (1 << j)), curr+1); if(temp) return true; } return false; } int main(){ int t; cin >> t; while(t--){ for(int j = 0; j < 7; j++) ans[j] = -1; cin >> n; for(int j = 0; j < n; j++) cin >> p[j]; if(foo(0, 1)){ for(int j = 1; j <= 6; j++) cout << ans[j] << " "; cout << endl; } else cout << "-1\n"; } return 0; }
1 1 1
1 2 3 4 5 6 1 2 3 4 6 5 1 2 3 5 4 6 1 2 3 6 4 5 1 2 3 5 6 4 1 2 3 6 5 4 1 2 4 3 5 6 1 2 4 3 6 5 1 2 5 3 4 6 1 2 6 3 4 5 1 2 5 3 6 4 1 2 6 3 5 4 1 2 4 5 3 6 1 2 4 6 3 5 1 2 5 4 3 6 1 2 6 4 3 5 1 2 5 6 3 4 1 2 6 5 3 4 1 2 4 5 6 3 1 2 4 6 5 3 1 2 5 4 6 3 1 2 6 4 5 3 1 2 5 6 4 3 1 2 6 5 4 3 1 3 2 4 5 6 1 3 2 4 6 5 1 3 2 5 4 6 1 3 2 6 4 5 1 3 2 5 6 4 1 3 2 6 5 4 1 4 2 3 5 6 1 4 2 3 6 5 1 5 2 3 4 6 1 6 2 3 4 5 1 5 2 3 6 4 1 6 2 3 5 4 1 4 2 5 3 6 1 4 2 6 3 5 1 5 2 4 3 6 1 6 2 4 3 5 1 5 2 6 3 4 1 6 2 5 3 4 1 4 2 5 6 3 1 4 2 6 5 3 1 5 2 4 6 3 1 6 2 4 5 3 1 5 2 6 4 3 1 6 2 5 4 3 1 3 4 2 5 6 1 3 4 2 6 5 1 3 5 2 4 6 1 3 6 2 4 5 1 3 5 2 6 4 1 3 6 2 5 4 1 4 3 2 5 6 1 4 3 2 6 5 1 5 3 2 4 6 1 6 3 2 4 5 1 5 3 2 6 4 1 6 3 2 5 4 1 4 5 2 3 6 1 4 6 2 3 5 1 5 4 2 3 6 1 6 4 2 3 5 1 5 6 2 3 4 1 6 5 2 3 4 1 4 5 2 6 3 1 4 6 2 5 3 1 5 4 2 6 3 1 6 4 2 5 3 1 5 6 2 4 3 1 6 5 2 4 3 1 3 4 5 2 6 1 3 4 6 2 5 1 3 5 4 2 6 1 3 6 4 2 5 1 3 5 6 2 4 1 3 6 5 2 4 1 4 3 5 2 6 1 4 3 6 2 5 1 5 3 4 2 6 1 6 3 4 2 5 1 5 3 6 2 4 1 6 3 5 2 4 1 4 5 3 2 6 1 4 6 3 2 5 1 5 4 3 2 6 1 6 4 3 2 5 1 5 6 3 2 4 1 6 5 3 2 4 1 4 5 6 2 3 1 4 6 5 2 3 1 5 4 6 2 3 1 6 4 5 2 3 1 5 6 4 2 3 1 6 5 4 2 3 1 3 4 5 6 2 1 3 4 6 5 2 1 3 5 4 6 2 1 3 6 4 5 2 1 3 5 6 4 2 1 3 6 5 4 2 1 4 3 5 6 2 1 4 3 6 5 2 1 5 3 4 6 2 1 6 3 4 5 2 1 5 3 6 4 2 1 6 3 5 4 2 1 4 5 3 6 2 1 4 6 3 5 2 1 5 4 3 6 2 1 6 4 3 5 2 1 5 6 3 4 2 1 6 5 3 4 2 1 4 5 6 3 2 1 4 6 5 3 2 1 5 4 6 3 2 1 6 4 5 3 2 1 5 6 4 3 2 1 6 5 4 3 2 2 1 3 4 5 6 2 1 3 4 6 5 2 1 3 5 4 6 2 1 3 6 4 5 2 1 3 5 6 4 2 1 3 6 5 4 2 1 4 3 5 6 2 1 4 3 6 5 2 1 5 3 4 6 2 1 6 3 4 5 2 1 5 3 6 4 2 1 6 3 5 4 2 1 4 5 3 6 2 1 4 6 3 5 2 1 5 4 3 6 2 1 6 4 3 5 2 1 5 6 3 4 2 1 6 5 3 4 2 1 4 5 6 3 2 1 4 6 5 3 2 1 5 4 6 3 2 1 6 4 5 3 2 1 5 6 4 3 2 1 6 5 4 3 3 1 2 4 5 6 3 1 2 4 6 5 3 1 2 5 4 6 3 1 2 6 4 5 3 1 2 5 6 4 3 1 2 6 5 4 4 1 2 3 5 6 4 1 2 3 6 5 5 1 2 3 4 6 6 1 2 3 4 5 5 1 2 3 6 4 6 1 2 3 5 4 4 1 2 5 3 6 4 1 2 6 3 5 5 1 2 4 3 6 6 1 2 4 3 5 5 1 2 6 3 4 6 1 2 5 3 4 4 1 2 5 6 3 4 1 2 6 5 3 5 1 2 4 6 3 6 1 2 4 5 3 5 1 2 6 4 3 6 1 2 5 4 3 3 1 4 2 5 6 3 1 4 2 6 5 3 1 5 2 4 6 3 1 6 2 4 5 3 1 5 2 6 4 3 1 6 2 5 4 4 1 3 2 5 6 4 1 3 2 6 5 5 1 3 2 4 6 6 1 3 2 4 5 5 1 3 2 6 4 6 1 3 2 5 4 4 1 5 2 3 6 4 1 6 2 3 5 5 1 4 2 3 6 6 1 4 2 3 5 5 1 6 2 3 4 6 1 5 2 3 4 4 1 5 2 6 3 4 1 6 2 5 3 5 1 4 2 6 3 6 1 4 2 5 3 5 1 6 2 4 3 6 1 5 2 4 3 3 1 4 5 2 6 3 1 4 6 2 5 3 1 5 4 2 6 3 1 6 4 2 5 3 1 5 6 2 4 3 1 6 5 2 4 4 1 3 5 2 6 4 1 3 6 2 5 5 1 3 4 2 6 6 1 3 4 2 5 5 1 3 6 2 4 6 1 3 5 2 4 4 1 5 3 2 6 4 1 6 3 2 5 5 1 4 3 2 6 6 1 4 3 2 5 5 1 6 3 2 4 6 1 5 3 2 4 4 1 5 6 2 3 4 1 6 5 2 3 5 1 4 6 2 3 6 1 4 5 2 3 5 1 6 4 2 3 6 1 5 4 2 3 3 1 4 5 6 2 3 1 4 6 5 2 3 1 5 4 6 2 3 1 6 4 5 2 3 1 5 6 4 2 3 1 6 5 4 2 4 1 3 5 6 2 4 1 3 6 5 2 5 1 3 4 6 2 6 1 3 4 5 2 5 1 3 6 4 2 6 1 3 5 4 2 4 1 5 3 6 2 4 1 6 3 5 2 5 1 4 3 6 2 6 1 4 3 5 2 5 1 6 3 4 2 6 1 5 3 4 2 4 1 5 6 3 2 4 1 6 5 3 2 5 1 4 6 3 2 6 1 4 5 3 2 5 1 6 4 3 2 6 1 5 4 3 2 2 3 1 4 5 6 2 3 1 4 6 5 2 3 1 5 4 6 2 3 1 6 4 5 2 3 1 5 6 4 2 3 1 6 5 4 2 4 1 3 5 6 2 4 1 3 6 5 2 5 1 3 4 6 2 6 1 3 4 5 2 5 1 3 6 4 2 6 1 3 5 4 2 4 1 5 3 6 2 4 1 6 3 5 2 5 1 4 3 6 2 6 1 4 3 5 2 5 1 6 3 4 2 6 1 5 3 4 2 4 1 5 6 3 2 4 1 6 5 3 2 5 1 4 6 3 2 6 1 4 5 3 2 5 1 6 4 3 2 6 1 5 4 3 3 2 1 4 5 6 3 2 1 4 6 5 3 2 1 5 4 6 3 2 1 6 4 5 3 2 1 5 6 4 3 2 1 6 5 4 4 2 1 3 5 6 4 2 1 3 6 5 5 2 1 3 4 6 6 2 1 3 4 5 5 2 1 3 6 4 6 2 1 3 5 4 4 2 1 5 3 6 4 2 1 6 3 5 5 2 1 4 3 6 6 2 1 4 3 5 5 2 1 6 3 4 6 2 1 5 3 4 4 2 1 5 6 3 4 2 1 6 5 3 5 2 1 4 6 3 6 2 1 4 5 3 5 2 1 6 4 3 6 2 1 5 4 3 3 4 1 2 5 6 3 4 1 2 6 5 3 5 1 2 4 6 3 6 1 2 4 5 3 5 1 2 6 4 3 6 1 2 5 4 4 3 1 2 5 6 4 3 1 2 6 5 5 3 1 2 4 6 6 3 1 2 4 5 5 3 1 2 6 4 6 3 1 2 5 4 4 5 1 2 3 6 4 6 1 2 3 5 5 4 1 2 3 6 6 4 1 2 3 5 5 6 1 2 3 4 6 5 1 2 3 4 4 5 1 2 6 3 4 6 1 2 5 3 5 4 1 2 6 3 6 4 1 2 5 3 5 6 1 2 4 3 6 5 1 2 4 3 3 4 1 5 2 6 3 4 1 6 2 5 3 5 1 4 2 6 3 6 1 4 2 5 3 5 1 6 2 4 3 6 1 5 2 4 4 3 1 5 2 6 4 3 1 6 2 5 5 3 1 4 2 6 6 3 1 4 2 5 5 3 1 6 2 4 6 3 1 5 2 4 4 5 1 3 2 6 4 6 1 3 2 5 5 4 1 3 2 6 6 4 1 3 2 5 5 6 1 3 2 4 6 5 1 3 2 4 4 5 1 6 2 3 4 6 1 5 2 3 5 4 1 6 2 3 6 4 1 5 2 3 5 6 1 4 2 3 6 5 1 4 2 3 3 4 1 5 6 2 3 4 1 6 5 2 3 5 1 4 6 2 3 6 1 4 5 2 3 5 1 6 4 2 3 6 1 5 4 2 4 3 1 5 6 2 4 3 1 6 5 2 5 3 1 4 6 2 6 3 1 4 5 2 5 3 1 6 4 2 6 3 1 5 4 2 4 5 1 3 6 2 4 6 1 3 5 2 5 4 1 3 6 2 6 4 1 3 5 2 5 6 1 3 4 2 6 5 1 3 4 2 4 5 1 6 3 2 4 6 1 5 3 2 5 4 1 6 3 2 6 4 1 5 3 2 5 6 1 4 3 2 6 5 1 4 3 2 2 3 4 1 5 6 2 3 4 1 6 5 2 3 5 1 4 6 2 3 6 1 4 5 2 3 5 1 6 4 2 3 6 1 5 4 2 4 3 1 5 6 2 4 3 1 6 5 2 5 3 1 4 6 2 6 3 1 4 5 2 5 3 1 6 4 2 6 3 1 5 4 2 4 5 1 3 6 2 4 6 1 3 5 2 5 4 1 3 6 2 6 4 1 3 5 2 5 6 1 3 4 2 6 5 1 3 4 2 4 5 1 6 3 2 4 6 1 5 3 2 5 4 1 6 3 2 6 4 1 5 3 2 5 6 1 4 3 2 6 5 1 4 3 3 2 4 1 5 6 3 2 4 1 6 5 3 2 5 1 4 6 3 2 6 1 4 5 3 2 5 1 6 4 3 2 6 1 5 4 4 2 3 1 5 6 4 2 3 1 6 5 5 2 3 1 4 6 6 2 3 1 4 5 5 2 3 1 6 4 6 2 3 1 5 4 4 2 5 1 3 6 4 2 6 1 3 5 5 2 4 1 3 6 6 2 4 1 3 5 5 2 6 1 3 4 6 2 5 1 3 4 4 2 5 1 6 3 4 2 6 1 5 3 5 2 4 1 6 3 6 2 4 1 5 3 5 2 6 1 4 3 6 2 5 1 4 3 3 4 2 1 5 6 3 4 2 1 6 5 3 5 2 1 4 6 3 6 2 1 4 5 3 5 2 1 6 4 3 6 2 1 5 4 4 3 2 1 5 6 4 3 2 1 6 5 5 3 2 1 4 6 6 3 2 1 4 5 5 3 2 1 6 4 6 3 2 1 5 4 4 5 2 1 3 6 4 6 2 1 3 5 5 4 2 1 3 6 6 4 2 1 3 5 5 6 2 1 3 4 6 5 2 1 3 4 4 5 2 1 6 3 4 6 2 1 5 3 5 4 2 1 6 3 6 4 2 1 5 3 5 6 2 1 4 3 6 5 2 1 4 3 3 4 5 1 2 6 3 4 6 1 2 5 3 5 4 1 2 6 3 6 4 1 2 5 3 5 6 1 2 4 3 6 5 1 2 4 4 3 5 1 2 6 4 3 6 1 2 5 5 3 4 1 2 6 6 3 4 1 2 5 5 3 6 1 2 4 6 3 5 1 2 4 4 5 3 1 2 6 4 6 3 1 2 5 5 4 3 1 2 6 6 4 3 1 2 5 5 6 3 1 2 4 6 5 3 1 2 4 4 5 6 1 2 3 4 6 5 1 2 3 5 4 6 1 2 3 6 4 5 1 2 3 5 6 4 1 2 3 6 5 4 1 2 3 3 4 5 1 6 2 3 4 6 1 5 2 3 5 4 1 6 2 3 6 4 1 5 2 3 5 6 1 4 2 3 6 5 1 4 2 4 3 5 1 6 2 4 3 6 1 5 2 5 3 4 1 6 2 6 3 4 1 5 2 5 3 6 1 4 2 6 3 5 1 4 2 4 5 3 1 6 2 4 6 3 1 5 2 5 4 3 1 6 2 6 4 3 1 5 2 5 6 3 1 4 2 6 5 3 1 4 2 4 5 6 1 3 2 4 6 5 1 3 2 5 4 6 1 3 2 6 4 5 1 3 2 5 6 4 1 3 2 6 5 4 1 3 2 2 3 4 5 1 6 2 3 4 6 1 5 2 3 5 4 1 6 2 3 6 4 1 5 2 3 5 6 1 4 2 3 6 5 1 4 2 4 3 5 1 6 2 4 3 6 1 5 2 5 3 4 1 6 2 6 3 4 1 5 2 5 3 6 1 4 2 6 3 5 1 4 2 4 5 3 1 6 2 4 6 3 1 5 2 5 4 3 1 6 2 6 4 3 1 5 2 5 6 3 1 4 2 6 5 3 1 4 2 4 5 6 1 3 2 4 6 5 1 3 2 5 4 6 1 3 2 6 4 5 1 3 2 5 6 4 1 3 2 6 5 4 1 3 3 2 4 5 1 6 3 2 4 6 1 5 3 2 5 4 1 6 3 2 6 4 1 5 3 2 5 6 1 4 3 2 6 5 1 4 4 2 3 5 1 6 4 2 3 6 1 5 5 2 3 4 1 6 6 2 3 4 1 5 5 2 3 6 1 4 6 2 3 5 1 4 4 2 5 3 1 6 4 2 6 3 1 5 5 2 4 3 1 6 6 2 4 3 1 5 5 2 6 3 1 4 6 2 5 3 1 4 4 2 5 6 1 3 4 2 6 5 1 3 5 2 4 6 1 3 6 2 4 5 1 3 5 2 6 4 1 3 6 2 5 4 1 3 3 4 2 5 1 6 3 4 2 6 1 5 3 5 2 4 1 6 3 6 2 4 1 5 3 5 2 6 1 4 3 6 2 5 1 4 4 3 2 5 1 6 4 3 2 6 1 5 5 3 2 4 1 6 6 3 2 4 1 5 5 3 2 6 1 4 6 3 2 5 1 4 4 5 2 3 1 6 4 6 2 3 1 5 5 4 2 3 1 6 6 4 2 3 1 5 5 6 2 3 1 4 6 5 2 3 1 4 4 5 2 6 1 3 4 6 2 5 1 3 5 4 2 6 1 3 6 4 2 5 1 3 5 6 2 4 1 3 6 5 2 4 1 3 3 4 5 2 1 6 3 4 6 2 1 5 3 5 4 2 1 6 3 6 4 2 1 5 3 5 6 2 1 4 3 6 5 2 1 4 4 3 5 2 1 6 4 3 6 2 1 5 5 3 4 2 1 6 6 3 4 2 1 5 5 3 6 2 1 4 6 3 5 2 1 4 4 5 3 2 1 6 4 6 3 2 1 5 5 4 3 2 1 6 6 4 3 2 1 5 5 6 3 2 1 4 6 5 3 2 1 4 4 5 6 2 1 3 4 6 5 2 1 3 5 4 6 2 1 3 6 4 5 2 1 3 5 6 4 2 1 3 6 5 4 2 1 3 3 4 5 6 1 2 3 4 6 5 1 2 3 5 4 6 1 2 3 6 4 5 1 2 3 5 6 4 1 2 3 6 5 4 1 2 4 3 5 6 1 2 4 3 6 5 1 2 5 3 4 6 1 2 6 3 4 5 1 2 5 3 6 4 1 2 6 3 5 4 1 2 4 5 3 6 1 2 4 6 3 5 1 2 5 4 3 6 1 2 6 4 3 5 1 2 5 6 3 4 1 2 6 5 3 4 1 2 4 5 6 3 1 2 4 6 5 3 1 2 5 4 6 3 1 2 6 4 5 3 1 2 5 6 4 3 1 2 6 5 4 3 1 2 2 3 4 5 6 1 2 3 4 6 5 1 2 3 5 4 6 1 2 3 6 4 5 1 2 3 5 6 4 1 2 3 6 5 4 1 2 4 3 5 6 1 2 4 3 6 5 1 2 5 3 4 6 1 2 6 3 4 5 1 2 5 3 6 4 1 2 6 3 5 4 1 2 4 5 3 6 1 2 4 6 3 5 1 2 5 4 3 6 1 2 6 4 3 5 1 2 5 6 3 4 1 2 6 5 3 4 1 2 4 5 6 3 1 2 4 6 5 3 1 2 5 4 6 3 1 2 6 4 5 3 1 2 5 6 4 3 1 2 6 5 4 3 1 3 2 4 5 6 1 3 2 4 6 5 1 3 2 5 4 6 1 3 2 6 4 5 1 3 2 5 6 4 1 3 2 6 5 4 1 4 2 3 5 6 1 4 2 3 6 5 1 5 2 3 4 6 1 6 2 3 4 5 1 5 2 3 6 4 1 6 2 3 5 4 1 4 2 5 3 6 1 4 2 6 3 5 1 5 2 4 3 6 1 6 2 4 3 5 1 5 2 6 3 4 1 6 2 5 3 4 1 4 2 5 6 3 1 4 2 6 5 3 1 5 2 4 6 3 1 6 2 4 5 3 1 5 2 6 4 3 1 6 2 5 4 3 1 3 4 2 5 6 1 3 4 2 6 5 1 3 5 2 4 6 1 3 6 2 4 5 1 3 5 2 6 4 1 3 6 2 5 4 1 4 3 2 5 6 1 4 3 2 6 5 1 5 3 2 4 6 1 6 3 2 4 5 1 5 3 2 6 4 1 6 3 2 5 4 1 4 5 2 3 6 1 4 6 2 3 5 1 5 4 2 3 6 1 6 4 2 3 5 1 5 6 2 3 4 1 6 5 2 3 4 1 4 5 2 6 3 1 4 6 2 5 3 1 5 4 2 6 3 1 6 4 2 5 3 1 5 6 2 4 3 1 6 5 2 4 3 1 3 4 5 2 6 1 3 4 6 2 5 1 3 5 4 2 6 1 3 6 4 2 5 1 3 5 6 2 4 1 3 6 5 2 4 1 4 3 5 2 6 1 4 3 6 2 5 1 5 3 4 2 6 1 6 3 4 2 5 1 5 3 6 2 4 1 6 3 5 2 4 1 4 5 3 2 6 1 4 6 3 2 5 1 5 4 3 2 6 1 6 4 3 2 5 1 5 6 3 2 4 1 6 5 3 2 4 1 4 5 6 2 3 1 4 6 5 2 3 1 5 4 6 2 3 1 6 4 5 2 3 1 5 6 4 2 3 1 6 5 4 2 3 1 3 4 5 6 2 1 3 4 6 5 2 1 3 5 4 6 2 1 3 6 4 5 2 1 3 5 6 4 2 1 3 6 5 4 2 1 4 3 5 6 2 1 4 3 6 5 2 1 5 3 4 6 2 1 6 3 4 5 2 1 5 3 6 4 2 1 6 3 5 4 2 1 4 5 3 6 2 1 4 6 3 5 2 1 5 4 3 6 2 1 6 4 3 5 2 1 5 6 3 4 2 1 6 5 3 4 2 1 4 5 6 3 2 1 4 6 5 3 2 1 5 4 6 3 2 1 6 4 5 3 2 1 5 6 4 3 2 1 6 5 4 3 2 1 -1