#include using namespace std; int main() { int N; cin >> N; vector _A(N); int g = 0; for (int i = 0; i < N; i++){ cout << "? " << i + 1 << ' ' << N << endl; int X; cin >> X; g = gcd(g, X); _A[i] = X; } int a = -1; for (int i = 0; i < N; i++){ _A[i] /= g; if (_A[i] == 1){ a = i + 1; } } vector A(N), B(N); int b = -1; for (int i = 0; i < N; i++){ cout << "? " << a << ' ' << i + 1 << endl; int X; cin >> X; B[i] = X; if (X == 1){ b = i + 1; } } for (int i = 0; i < N; i++){ cout << "? " << i + 1 << ' ' << b << endl; int X; cin >> X; A[i] = X; } cout << "! "; for (int i = 0; i < N; i++){ cout << A[i]; cout << ' '; } for (int i = 0; i < N; i++){ cout << B[i]; if (i + 1 < N){ cout << ' '; } } cout << endl; return 0; }