#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; bool ok(long long int mid){ cout << "?" << " " << mid << endl; int ind; cin >> ind; return ind; } int main(){ long long int mint = 0; long long int maxt = INT_MAX; while (mint + 1LL < maxt){ long long int mid = (mint + maxt) >> 1; if (ok(mid)){ mint = mid; } else{ maxt = mid; } } if (mint != maxt){ if (ok(mint)){ maxt = mint; } else{ mint = maxt; } } cout << "!" << " " << mint << endl; return 0; }