#include <bits/stdc++.h>
using namespace std;
int color[152];
vector<int> known;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
memset(color, 0xff, sizeof color);
color[1] = 1;
known.push_back(1);
int cnt = 1;
for(int i = 2; i <= n; ++i){ // N-1 Queries
cout << i << ' ';
for(int j = 1; j <= i; ++j) cout << j << ' ';
cout << '\n';
cout.flush();
int res; cin >> res;
if(res > cnt) color[i] = ++cnt, known.push_back(i);
}
for(int i = 1; i <= n; ++i){ // (N-C) * (log2 C) Queries
if(color[i] != -1) continue;
int l = 0, r = int(known.size())-1;
while(l < r){
int mid = (l+r)>>1;
cout << mid+2 << ' ';
cout << i << ' ';
for(int j = 0; j <= mid; ++j) cout << known[j] << ' ';
cout << '\n';
cout.flush();
int res; cin >> res;
if(res == mid+1) r = mid;
else l = mid+1;
}
color[i] = color[known[l]];
}
cout << 0 << ' ';
for(int i = 1; i <= n; ++i) cout << color[i] << ' ';
cout << '\n';
cout.flush();
}
// 1 2 1 3 2