#include <iostream> #include <vector> #include <string> #include <cstring> #include <math.h> #include <cmath> #include <limits.h> #include <map> #include <set> #include <queue> #include <algorithm> #include <functional> #include <stdio.h> using namespace std; long long MOD = 1000000007; int main() { long long l = 1, r = 1000000001; long long ans; while ( true ) { cout << "? " << (l+r)/2 << endl; cout << flush; long long ret; cin >> ret; if ( ret ) { if ( l == (l+r)/2 ) { ans = l; break; } l = (l+r)/2; } else { r = (l+r)/2; } } cout << "! " << ans << endl; return 0; }