#include<bits/stdc++.h>
#include "library.h"
using namespace std;
void Solve(int N)
{
vector<int> x;
vector<int> m;
vector<int> ans;
int x1;
m.assign(N,1);
for (int i = 0;i<N;i++) x.push_back(i+1);
for (int i =0;i<N;i++){
m[i] = 0;
if (Query(m)==1){x.erase(x.begin()+i);x1 = i;ans.push_back(i+1);cout<<i+1<<"lfknev\n";break;}
m[i] = 1;
}
m.assign(N,0);
for (int i = 0;i<N;i++){
int a = 0;
int b = x.size()-1;
while (a!=b){
cout<<a<<" "<<b<<"\n";
int y = (a+b)/2;
m[ans[ans.size()-1]-1 ]=1;
for (int j = a;j<=y;j++) {m[x[j]-1] = 1;}
for (int j = 0;j<N;j++) cout<<m[j];
cout<<"\n";
int z = Query(m);
cout<<z<<"\n";
m[ans[ans.size()-1]-1] = 0;
for (int j = 0;j<N;j++) cout<<m[j];
int z1 = Query(m);
cout<<"\n";
cout<<z1<<"\n";
if (z==z1) b = y;
else a = y+1;
cout<<y<<" "<<a<<" "<<b<<"\n";
m.assign(N,0);
}
cout<<x[a]<<"ekjrvv\n";
ans.push_back(x[a]);
if (ans.size()==N) break;
x.erase(x.begin()+a);
m.assign(N,0);
}
Answer(ans);
}