#include #define INF 1000000001LL #define LNF 1000000000000000001LL #define MOD 998244353LL #define MAX 1005 #define long long long #define all(x) x.begin(),x.end() using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n; cin >> n; vector p(n); vector pos[4]; for(int i = 0; i> x; p[i] = x; pos[x&3].push_back(i); } if(n <= 4) { map> mp; vector arr; for(int i = 1; i<=n; i++) arr.push_back(i); do { int x = 0; for(int i = 0; i 1) { res1 = pos[0][0]; res2 = pos[0][1]; } else if(pos[1].size() > 1) { res1 = pos[1][0]; res2 = pos[1][1]; } else if(pos[2].size() > 1) { res1 = pos[2][0]; res2 = pos[2][1]; a = 3; c = 1; } else if(pos[3].size() > 1) { res1 = pos[3][0]; res2 = pos[3][1]; } int index = 4; for(int i = 0; i n) index = c; if(i == res1) cout << a << " "; else if(i == res2) cout << b << " "; else { cout << index << " "; index++; } } cout << "\n"; index = 4; for(int i = 0; i n) index = c; if(i == res1) cout << b << " "; else if(i == res2) cout << a << " "; else { cout << index << " "; index++; } } return 0; }