#include using namespace std; // fast modular exponentiation long long mod_pow(long long a, long long e, long long m) { long long r = 1; a %= m; while (e) { if (e & 1) r = (r * a) % m; a = (a * a) % m; e >>= 1; } return r; } int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); // 1) send the query // A ≡ 0 mod 1e9+7 ⇒ A^B ≡ 0 (mod 1e9+7) // so K = gcd(X,0) = X const long long A = 1000000007; const long long B = 100001; cout << A << " " << B << "\n" << flush; // 2) read K (which is now X itself) long long K; if (!(cin >> K)) return 0; // 3) compute X' = X^A mod B long long Xprime = mod_pow(K, A, B); cout << Xprime << "\n" << flush; // 4) (optional) read the judge's final verdict int verdict; if (cin >> verdict) { // ret = 1 ⇒ correct, 0 ⇒ wrong (you could loop again if you wanted) } return 0; }