#include <bits/stdc++.h>
using namespace std;
#define lalala ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define N 400
#define pb push_back
#define ins insert
int renk[N];
int sorgu(set<int> st){
cout<<st.size()<<" ";
for(auto u:st)cout<<u<<" ";
cout<<endl;
int x;cin>>x;
return x;
}
int binali(set<int> st){
vector<int> v;
for(auto u:st)v.pb(u);
int l=0,r=v.size()-2;
int yes=-1;
while(l<=r){
int mid=(l+r)/2;
set<int> yed;
for(int i=mid;i<v.size();i++)yed.ins(v[i]);
int x=sorgu(yed);
if(x==yed.size()){
r=mid-1;
}
else {
yes=v[mid];
l=mid+1;
}
}
return yes;
}
signed main(){
lalala;
int n;cin>>n;
renk[1]=1;
set<int> st;st.ins(1);
for(int i=2;i<=n;i++){
st.ins(i);
int x=sorgu(st);
if(x==st.size()){
renk[i]=st.size();
}
else{
renk[i]=renk[binali(st)];
st.erase(i);
}
//for(int j=1;j<=n;j++)cout<<renk[j]<<" ";
//cout<<endl;
}
cout<<0<<" ";
for(int i=1;i<=n;i++)cout<<renk[i]<<" ";
cout<<endl;
}