#include <bits/stdc++.h>
using namespace std;
bool found = false;
int b, A[10000], orig_a;
int main() {
  int a, b[3], i, j, n, x, y, z, array[100000];
  cin >> n;
  for (i = 0; i < 3; i++) {
    if (i <= 1) {
      cout << "? " << 1 << " " << i + 2 << endl;
    } else {
      cout << "? " << 2 << " " << 3 << endl;
    }
    fflush(stdout);
    cin >> b[i];
  }
  z = -(b[0] - b[1] - b[2]) / 2;
  y = b[2] - z;
  x = b[0] - y;
  array[0] = x;
  array[1] = y;
  array[2] = z;
  for (i = 4; i <= n; i++) {
    cout << "? " << 1 << " " << i << endl;
    fflush(stdout);
    cin >> a;
    array[i - 1] = a - x;
  }
  cout << "!";
  for (i = 0; i < n; i++) {
    cout << " " << array[i];
  }
  cout << endl;
  return 0;
}
