#include <bits/stdc++.h>
using namespace std;
int ask(int i, int j) {
  printf("? %d %d\n", i, j);
  fflush(stdout);
  int ans;
  scanf("%d", &ans);
  return ans;
}
int solve(int a, int b, int c) { return (a - b + c) / 2; }
int main() {
  int a, b, c, n, i;
  vector<int> ans;
  scanf("%d", &n);
  a = ask(1, 2);
  b = ask(2, 3);
  c = ask(1, 3);
  ans.push_back(solve(a, b, c));
  ans.push_back(a - ans.back());
  ans.push_back(b - ans.back());
  for (i = 4; i <= n; i++) {
    a = ask(1, i);
    ans.push_back(a - ans[0]);
  }
  printf("! ");
  for (int love = 0; love < ans.size(); love++)
    cout << ans[love] << " \n"[love == ans.size() - 1];
  return 0;
}
