#include <bits/stdc++.h>
using namespace std;
int inline read() {
  int num = 0, neg = 1;
  char c = getchar();
  while (!isdigit(c)) {
    if (c == '-') neg = -1;
    c = getchar();
  }
  while (isdigit(c)) {
    num = (num << 3) + (num << 1) + c - '0';
    c = getchar();
  }
  return num * neg;
}
const int maxn = 1010, mod = 998244353;
int n, a[maxn], b[maxn];
int main() {
  n = read();
  for (int i = 1; i < n; i++) {
    cout << "?"
         << " " << i << " " << i + 1 << endl;
    b[i] = read();
  }
  cout << "?"
       << " " << 1 << " " << 3 << endl;
  b[n] = read();
  a[3] = b[n] - b[1];
  a[1] = b[1] - b[2] + a[3];
  for (int i = 1; i <= n; i++) a[i + 1] = b[i] - a[i];
  cout << "!"
       << " ";
  for (int i = 1; i <= n; i++) cout << a[i] << " ";
  return 0;
}
