func_code_string: #include<bits/stdc++.h>   using namespace std;      typedef long long ll;      int q(int l, int r){       cout <<  ?   << l <<     << r << endl;       int idx; cin >> idx;       return idx;   }   void solve(){       int n;       cin >> n;       int idx = q(1, n);       int L = -1, R = -1;       if(1 < idx) L = q(1, idx);       if(n > idx) R = q(idx, n);       if(R == idx){ // 最大值在右           int ans = n, l = idx + 1, r = n, mid;           while(l <= r){               mid = l + r >> 1;               int t = q(idx, mid);               if(t == idx){                   ans = min(ans, mid);                   r = mid - 1;               }else{                   l = mid + 1;               }           }           cout <<  !   << ans << endl;       }else{           int ans = 1, l = 1, r = idx - 1, mid;           while(l <= r){               mid = l + r >> 1;               int t = q(mid, idx);               if(t == idx){                   ans = max(ans, mid);                   l = mid + 1;               }else{                   r = mid - 1;               }           }           cout <<  !   << ans << endl;       }   }   // 5 1 2 3 4   int main(){       // #define LOCAL   #ifdef LOCAL       freopen( in.in ,  r , stdin);       freopen( out.out ,  w , stdout);   #endif         int _ = 1;       // cin >> _;       for(int i = 1; i <= _; ++i) solve();   }