import sys, time, random from collections import deque, Counter, defaultdict input = lambda: sys.stdin.readline().rstrip() ii = lambda: int(input()) mi = lambda: map(int, input().split()) li = lambda: list(mi()) inf = 2 ** 61 - 1 mod = 998244353 debug = False n = ii() if debug: a = [random.randint(1, n) for _ in range(5)] def query(m, k, b): print(m, k, flush=True) print(*b, flush=True) if not debug: return ii() else: ans = 0 for i in range(5): if a[i] % m in b: ans += 1 return ans def answer(x): print(0, 1) print(x, flush=True) if not debug: exit() else: assert sum(a) == x ans = 0 for i in range(13): b = [] for bit in range(1 << (i + 1)): if (bit >> i) & 1: b.append(bit) ret = query(1 << (i + 1), len(b), b) ans += ret * (1 << i) answer(ans)