#define _DE321BUG #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 psum[1004]; 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(); if(i == 2){ int sum12; cin >> sum12; psum[2] = sum12; continue; } // int x; cin >> x; cin >> psum[i]; arr[i] = psum[i] - psum[i-1]; used[arr[i]] = true; } 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; }