N = int(input()) A = list(map(int, input().split())) nim = 0 for a in A: nim ^= a t = 1 if nim else 0 print(t, flush=True) def my_turn(nim): # print('myturn') # print(nim) # print(A) # B = sorted([(a, i) for i, a in enumerate(A)], reverse=True) for i, a in enumerate(A): na = a ^ nim if na < a: A[i] -= a - na print(i + 1, a - na, flush=True) break ret = int(input()) if ret == 0: enemy_turn() else: exit() def enemy_turn(): # print("enemyturn") # print(A) idx, k = map(int, input().split()) idx -= 1 nim = A[idx] A[idx] -= k nim ^= A[idx] ret = int(input()) if ret == 0: my_turn(nim) else: exit() if t: my_turn(nim) else: enemy_turn()