#include "art.h"
#include <bits/stdc++.h>
using namespace std;
const int NN = 4001;
int match[NN];
map<vector<int>, int> mp;
void divide_and_conquer(int i, int N) {
if (i == N) return;
vector<int>cur;
for(int j = i; j <= N; j++) cur.push_back(j);
for(int j = 1; j < i; j++) cur.push_back(j);
int R1 = (mp.count(cur) ? mp[cur] : publish(cur));
mp[cur] = R1;
cur.clear();
for(int j = i + 1; j <= N; j++) cur.push_back(j);
for(int j = 1; j <= i; j++) cur.push_back(j);
int R2 = (mp.count(cur) ? mp[cur] : publish(cur));
mp[cur] = R2;
match[((N - 1) + R1 - R2) / 2 + 1] = i;
divide_and_conquer(i + 1, N);
}
void solve(int N) {
vector<int> ord(N);
iota(ord.begin(), ord.end(), 1);
for (int i = 1; i <= N; i++) match[i] = -1;
divide_and_conquer(1, N);
vector<int> res;
for (int i = 1; i <= N; i++){
if(match[i] == -1) match[i] = N;
res.push_back(match[i]);
}
answer(res);
}