#include #include #include #include using namespace std; using ll = long long; #define rep(i, n) for(int i=0; i> n; if(n == 2) { cout << "? 0 1" << endl; ll ret; cin >> ret; if(ret == 1) { cout << "! 11" << endl; } else if(ret == 25) { cout << "! 55" << endl; } else if(ret == 49) { cout << "! 77" << endl; } else if(ret == 64) { cout << "! 88" << endl; } else if(ret == 81) { cout << "! 99" << endl; } else { cout << "! -1" << endl; return 0; } } else { vector res(10, n); vector non_zero; rep(i, n-1){ cout << "? " << i << " " << n-1 << endl; cin >> res[i]; if(res[i] != 0) non_zero.emplace_back(i); } if(non_zero.size() < 2) { cout << "! -1" << endl; return 1; } cout << "? " << non_zero[0] << " " << non_zero[1] << endl; ll res01; cin >> res01; res[n-1] = res[non_zero[0]] * res[non_zero[1]] / res01; ll a_back = sqrt(res[n-1]); cout << "! "; rep(i, n) { cout << res[n-1-i] / a_back; } cout << endl; } }