#include<bits/stdc++.h>
#define int long long
using namespace std;
vector<int> sor ={1};
int ask(int l,int r,int val)
{
cout << r-l+1+(val!=0)<< " ";
if(val) cout << val << " ";
for(int i=l;i<=r;i++) cout << sor[i]<< " ";
cout << endl;
int num;
cin >> num;
return num;
}
int32_t main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
int cur = 1;
vector<int> c(n+1,0);
for(int i=2;i<=n;i++)
{
int num = ask(0,sor.size()-1,i);
if(num>sor.size())
{
c[i] = cur;
cur++;
sor.push_back(i);
continue;
}
int l = 0,r = sor.size()-1;
while(l<=r)
{
int mid =l+r;
mid/=2;
if(ask(l,mid,i)==mid-l+1)
{
r = mid-1;
}
else l = mid+1;
}
c[i] = c[sor[l]];
}
for(int i=1;i<=n;i++) cout << c[i] << " ";
cout << endl;
}