#include <cstdio>
#include <vector>
#include "library.h"
using namespace std;
vector<int> adj[1005];
void Solve(int N)
{
for(int i = 0; i < N; i++)
{
int lo = 0, hi = N-1, except = -1, fin = 0;
if(adj[i].size() == 2) continue;
if(adj[i].size() == 1) except = adj[i][0];
while(lo <= hi)
{
int x = (lo+hi)/2;
vector<int> m1(N, 0);
int cnt = 0;
for(int j = lo; j <= x; j++) if(j != except) m1[j] = 1, cnt++;
m1[i] = 0;
if(i <= x && i >= lo) cnt--;
int mcount = 0;
if(cnt == 0) mcount = -1;
else mcount = Query(m1);
m1[i] = 1;
int mafter = Query(m1);
if(mafter <= mcount)
{
fin = x;
hi = x-1;
}
else lo = x+1;
}
adj[i].push_back(fin);
adj[fin].push_back(i);
}
vector<int> res;
int start = 0;
for(int i = 0; i < N; i++)
{
if(adj[i].size())
{
start = i;
break;
}
}
vector<bool> answered(N,false);
while(res.size() < N)
{
res.push_back(start+1);
answered[start] = true;
int prev = start;
start = adj[start][0];
if(answered[start]) start = adj[prev][1];
}
Answer(res);
}