func_code_string: #include<bits/stdc++.h>   using namespace std;   #define ll long long   #define ld long double   #define Test int T;cin>>T;while(T--)   #define PI acos(-1)   #define endl   n    #define fx(x) fixed<<setprecision(x)   #define sz(s) (int)s.size()   #define all(v) (v).begin(),(v).end()   #define allr(v) (v).rbegin(),(v).rend()   #define mem(a,n) memset((a),n,sizeof (a))   #define INF 1e9   #define ii pair<ll,ll>   ll gcd(ll x,ll y){return(!y?x:gcd(y,x%y));}   ll lcm(ll x,ll y){return x/gcd(x,y)*y;}   void file(){   #ifndef ONLINE_JUDGE       freopen( in.txt ,  r , stdin);       freopen( out.txt ,  w , stdout);   #else       //freopen( bridges.in ,  r , stdin);       //freopen( bridges.out ,  w , stdout);   #endif   }   void fast(){       ios_base::sync_with_stdio(false);       cin.tie(NULL);       file();   }   int dx[]= {-1,0,1,0};   int dy[]= {0,1,0,-1};   const double eps=1e-9;   const int mod=1e9+7;   const int N=1e5+5;   int a[N];   int ask(int i){       if(a[i])return a[i];       cout<< ?  <<i<<endl;       cout.flush();       int x;cin>>x;       return a[i]=x;   }   int main(){       fast();       int n;       cin>>n;       a[0]=a[n+1]=1e9;       int l=1,r=n;       while(l<=r){           int md=l+r>>1;           int xl=ask(md);           int xr=ask(md+1);           if(xl>=xr){               l=md+1;           }           else r=md-1;       }       cout<< !  <<l<<endl;       cout.flush();       return 0;   }