#include <cstdio>
#include <vector>
#include <iostream>
#include "library.h"
using namespace std;
vector<int> graph[1001];
vector<bool> vis(1001,0);
vector<int> res(1001);
int st=-1,en=-1;
void dfs(int x,int cnt,int N){
res[cnt]=x;
if (cnt==N) return;
vis[x]=1;
for (int i:graph[x]){
if (vis[i]) continue;
vis[i]=1;
dfs(i,cnt+1,N);
}
}
void Solve(int N)
{
if (N==1){
res.resize(1);res[0]=1;
Answer(res);return;
}
vector<int> fuck(N,0);
for(int i=0;i<N-1;i++) {
fuck[i]=1;
for (int j=i+1;j<N;j++){
fuck[j]=1;
int nig = Query(fuck);
/*
cout << i << " " << j << " " << nig << "\n";
for (int k=0;k<N;k++){
cout << fuck[k] << " ";
}cout << "\n";
*/
if (nig==1){
graph[i+1].push_back(j+1);
graph[j+1].push_back(i+1);
}fuck[j]=0;
}fuck[i]=0;
}
/*
for (int i=1;i<=N;i++){
cout << i << " -> ";
for (int j:graph[i]){
cout << j << " ";
}cout << '\n';
}
*/
for (int i=1;i<=N;i++){
if (graph[i].size()==1 && st==-1)st=i;
else if (graph[i].size()==1) en=i;
}
//cout << st << " " << en << "\n";
res.resize(N);
dfs(st,0,N);
/*
for (int i=0;i<N;i++){
cout << res[i] << " ";
}
*/
Answer(res);
}