#include <bits/stdc++.h>
using namespace std;
int n;
vector<int> answer;
vector<int> pair_sum;
int total = 0;
void In() {
  cin >> n;
  answer.resize(3, 0);
}
void Solve() {
  cout << '?' << ' ' << 1 << ' ' << 3 << endl;
  cin >> total;
  for (int i = 1; i < 3; i++) {
    int next;
    cout << '?' << ' ' << i << ' ' << i + 1 << endl;
    cin >> next;
    pair_sum.push_back(next);
  }
  for (int i = 1; i < 3; i++) {
    answer[i] = pair_sum[i - 1] - answer[i - 1];
  }
  int edge_sum = 2 * total - accumulate(pair_sum.begin(), pair_sum.end(), 0);
  answer[0] += (edge_sum - answer[0] - answer[2]) / 2;
  for (int i = 1; i < 3; i++) {
    answer[i] = pair_sum[i - 1] - answer[i - 1];
  }
  for (int i = 3; i < n; i++) {
    int next;
    cout << '?' << ' ' << i << ' ' << i + 1 << endl;
    cin >> next;
    answer.push_back(next - answer[i - 1]);
  }
}
void Out() {
  cout << '!' << ' ';
  for (int ans : answer) cout << ans << ' ';
  cout << endl;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  int t = 1;
  while (t--) {
    In();
    Solve();
    Out();
  }
}
