#include <bits/stdc++.h>
using namespace std;
long long read() {
  long long x = 0, f = 1;
  char c = getchar();
  while (c < '0' || c > '9') {
    if (c == '-') f = -1;
    c = getchar();
  }
  while (c >= '0' && c <= '9') {
    x = x * 10 + c - '0';
    c = getchar();
  }
  return x * f;
}
int a1, a2, a3, lst;
int a[5100];
int main() {
  int n = read();
  puts("? 1 2");
  fflush(stdout);
  cin >> a1;
  puts("? 1 3");
  fflush(stdout);
  cin >> a2;
  puts("? 2 3");
  fflush(stdout);
  cin >> a3;
  a[1] = (a1 + a2 - a3) / 2;
  a[2] = (a1 - a[1]);
  a[3] = (a2 - a[1]);
  for (int i = 4; i <= n; ++i) {
    printf("? %d %d\n", i - 1, i);
    fflush(stdout);
    cin >> a[i];
    a[i] -= a[i - 1];
  }
  printf("! ");
  for (int i = 1; i <= n; ++i) printf("%d ", a[i]);
  return 0;
}
