#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define all(c) (c).begin(), (c).end() #define rep(i,n) for(int i=0;i<(n);i++) #define pb(e) push_back(e) #define mp(a, b) make_pair(a, b) #define fr first #define sc second const int INF=100000000; int dx[4]={1,0,-1,0}; int dy[4]={0,1,0,-1}; using namespace std; typedef pair P; typedef long long ll; int main() { ll lb=-1,ub=1e9; while(ub>lb) { ll mid=(lb+ub)/2; cout << "? " << mid << flush; int t; cin>>t; if(t==0) ub=mid; else lb=mid; } cout << "! " << lb << flush; return 0; }