n=int(input()) ans = [0]*n print(f'? {1} {2}',flush=True) t = int(input()) print(f'? {2} {3}',flush=True) t2 = int(input()) for i in range(1,n+1): if t - i == t2 - i: ans[1] = i break ans[0]=t-ans[1] ans[2]=t2-ans[1] ind = 3 while n > ind: print(f'? {ind-1} {ind}') t=int(input()) ans[ind] = t - ans[ind-1] ind += 1 print('!',*ans)