N = int(input()) print('?', 1, 2) prev = int(input()) ans = [] used = [False] * (N + 1) l = 1 for r in range(3, N + 1): print('?', l, r) S = int(input()) ans.append(S - prev) used[S - prev] = True prev = S first = [] for i in range(1, N + 1): if not used[i]: first.append(i) print('!', *first, *ans)