#define _D321EBUG #include using namespace std; #define endl "\n" typedef long long ll; typedef long double ld; typedef pair pii; typedef pair pll; const long double pi = acos(-1.0); const int INF = 1987654321; // const int MOD = 1e9; // int arr[1004]; int used[1004]; int main(){ #ifdef _DEBUG freopen ("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #endif ios::sync_with_stdio(false); cin.tie(NULL); int N; cin >> N; for(int i = 2; i <= N; i++){ cout << "? " << 1 << " " << i << endl; cout.flush(); int x; cin >> x; // cin >> arr[i]; if(i != 2){ arr[i] = x - arr[i-1]; used[arr[i]] = true; } } cout << "? " << 1 << " " << 2 << endl; cout.flush(); int sum12; cin >> sum12; arr[1] = 0; arr[2] = 0; for(int i = 1; i <= N; i++){ if(!used[i]){ arr[1] = i; used[i] = true; break; } } for(int i = 1; i <= N; i++){ if(!used[i]){ arr[2] = i; used[i] = true; break; } } cout << "! "; for(int i = 1; i <= N-1; i++) cout << arr[i] << " "; cout << arr[N]; cout.flush(); return 0; }