#include #include using namespace std; using namespace atcoder; #define rep(i, n) for(int i=0;i<(n);++i) #define rep1(i, n) for(int i=1;i<=(n);i++) #define ll long long using mint = modint998244353; using P = pair; using lb = long double; using T = tuple; #ifdef LOCAL # include # define dbg(...) debug_print::multi_print(#__VA_ARGS__, __VA_ARGS__) #else # define dbg(...) (static_cast(0)) #endif int main() { int n; cin >> n; auto ask = [&](vector k) -> int { cout << 10000 << " " << k.size() << endl; for(int a : k) { cout << a << " "; } cout << endl; int c; cin >> c; return c; }; vector ans; auto func = [&](auto func, int s, int t, int cnt) -> void { if(cnt==0) return; dbg(s,t,cnt); if(t-s+1==cnt) { for(int i=s;i<=t;i++) ans.push_back(i); return; } if(s==t) return; vector f, g; for(int i=s;i<=(s+t)/2;i++){ f.push_back(i); } int a = ask(f); func(func, s, (t+s)/2, a); func(func, (t+s)/2+1, t, cnt-a); }; func(func, 1, n, 5); cout << 0 << " " << 1 << endl; dbg(ans); cout << accumulate(ans.begin(),ans.end(), 0) << endl; return 0; }