#include using namespace std; void f(int i, int j){ cout << "! " << i << ' ' << j << endl; } int main() { int N; cin >> N; vector _A(N); int g = 0; for (int i = 0; i < N; i++){ f(i + 1, 1); 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++){ f(a, i + 1); int X; cin >> X; B[i] = X; if (X == 1){ b = i + 1; } } for (int i = 0; i < N; i++){ f(i + 1, b); 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; }