#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 10;
const long long inf = 1e18;
int a[maxn];
int ans[maxn];
int x[maxn], y[maxn];
int n;
int main() {
  scanf("%d", &n);
  x[1] = 1;
  y[1] = 2;
  x[2] = 2;
  y[2] = 3;
  x[3] = 3;
  y[3] = 1;
  for (int i = 4; i <= n; i++) {
    x[i] = 2;
    y[i] = i;
  }
  for (int i = 1; i <= 3; i++) {
    printf("? %d %d\n", x[i], y[i]);
    fflush(stdout);
    int sum;
    scanf("%d", &sum);
    ans[i] = sum;
  }
  a[2] = (ans[1] + ans[2] - ans[3]) / 2;
  a[1] = ans[1] - a[2];
  a[3] = ans[2] - a[2];
  for (int i = 4; i <= n; i++) {
    printf("? %d %d\n", x[i], y[i]);
    fflush(stdout);
    int sum;
    scanf("%d", &sum);
    a[i] = sum - a[2];
  }
  printf("! ");
  for (int i = 1; i <= n; i++) {
    printf("%d ", a[i]);
  }
  return 0;
}
