#include <bits/stdc++.h>
using namespace std;
void answer(long long sz, vector<long long> vec) {
  cout << "! ";
  for (long long i = 1; i <= sz; i++) cout << vec[i] << " ";
  cout << endl;
  return;
}
long long query(long long l, long long r) {
  cout << "? " << l << " " << r << endl;
  fflush(stdout);
  long long ret;
  cin >> ret;
  return ret;
}
signed main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  ;
  long long n;
  cin >> n;
  vector<long long> v(n + 1);
  long long a = query(1, 2);
  long long b = query(2, 3);
  long long c = query(1, 3);
  v[1] = c - b;
  v[2] = a + b - c;
  v[3] = c - a;
  for (long long i = 3; i < n; i++) {
    long long curr = query(i, i + 1);
    v[i + 1] = curr - v[i];
  }
  answer(n, v);
  return 0;
}
