#include <bits/stdc++.h>
using namespace std;
const int N = 5010;
int n, a[N];
int main() {
  cin >> n;
  for (int i = 1; i + 2 <= n; i += 3) {
    int x, y, z;
    cout << "? " << i << " " << i + 1 << endl;
    fflush(stdout);
    cin >> x;
    cout << "? " << i << " " << i + 2 << endl;
    fflush(stdout);
    cin >> y;
    cout << "? " << i + 1 << " " << i + 2 << endl;
    fflush(stdout);
    cin >> z;
    a[i] = (x + y - z) / 2;
    a[i + 1] = x - a[i];
    a[i + 2] = y - a[i];
  }
  if (n % 3 >= 1) {
    cout << "? " << 1 << " " << ((n % 3 == 2) ? (n - 1) : (n)) << endl;
    fflush(stdout);
    int x;
    cin >> x;
    a[((n % 3 == 2) ? (n - 1) : (n))] = x - a[1];
  }
  if (n % 3 == 2) {
    cout << "? " << 1 << " " << n << endl;
    fflush(stdout);
    int x;
    cin >> x;
    a[n] = x - a[1];
  }
  cout << "! ";
  for (int i = 1; i <= n; i++) cout << a[i] << " ";
  cout << endl;
}
