#include #define uint128 __uint128_t #define int128 __int128 #define ld long double #define ll long long #define ull unsigned ll #define uint unsigned int #define sint short int #define llong ll #define ullong ull #define ldouble ld #define eb emplace_back #define pub push_back #define pob pop_back #define puf push_front #define pof pop_front #define fst first #define snd second #define pii pair #define pil pair #define pli pair #define pll pair #define tiii tuple #define pld pair #define vi vector #define vll vector #define all(x) x.begin(), x.end() using namespace std; mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); ll RandInt(ll B) { return (ull)rng() % B; } ll floor_div(ll x, ll y) { assert(y != 0); if (y < 0) { y = -y; x = -x; } if (x >= 0) return x / y; return (x + 1) / y - 1; } ll ceil_div(ll x, ll y) { assert(y != 0); if (y < 0) { y = -y; x = -x; } if (x <= 0) return x / y; return (x - 1) / y + 1; } template T sqr(T x) { return x * x; } void solve() { int n; cin >> n; int ans = 0; for(int i = 2; i <= 1024; i <<= 1) { cout << i << ' ' << (i >> 1) << '\n'; for(int j = (i >> 1); j < i; ++j) cout << j << ' '; cout << '\n'; cout.flush(); int add; cin >> add; ans += add * (i >> 1); } cout << 0 << ' ' << 1 << '\n'; cout << ans << '\n'; } int main() { ios_base::sync_with_stdio(0); cin.tie(NULL); int tests = 1; //cin >> tests; for(int test = 1; test <= tests; ++test) { solve(); } return 0; }