#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e3 + 5;
const int INF = 0x3f3f3f3f;
const int MOD = 1e3;
int ans[MAXN];
char s[MAXN];
void solve() {
  int n;
  cin >> n;
  int k, num;
  int s12, s13, s23;
  cout << "? " << 1 << " " << 2 << endl;
  scanf("%d", &s12);
  cout << "? " << 1 << " " << 3 << endl;
  scanf("%d", &s13);
  cout << "? " << 2 << " " << 3 << endl;
  scanf("%d", &s23);
  ans[1] = s13 - s23;
  ans[2] = s12 - ans[1];
  ans[3] = s13 - ans[1] - ans[2];
  for (int i = 4; i <= n; i++) {
    cout << "? " << i - 1 << " " << i << endl;
    scanf("%d", &ans[i]);
    ans[i] = ans[i] - ans[i - 1];
  }
  cout << "! " << ans[1] << flush;
  for (int i = 2; i <= n; i++) {
    cout << " " << ans[i] << flush;
  }
  cout << endl;
  return;
}
int main() {
  solve();
  return 0;
}
