func_code_string: #include <bits/stdc++.h>   using namespace std;   int get(int l, int n) {     int v1, v2;     cout <<  ?   << l << endl;     fflush(stdout);     cin >> v1;     cout <<  ?   << (l + n / 2 - 1) % n + 1 << endl;     fflush(stdout);     cin >> v2;     return v2 - v1;   }   int main() {     int n;     cin >> n;     int l, r;     r = (n / 2 + 2) / 2;     l = 1;     int v_r, v_l;     v_r = get(r, n);     v_l = get(l, n);     if (v_r == 0) {       cout <<  !   << r << endl;       return 0;     }     if (v_l == 0) {       cout <<  !   << l << endl;       return 0;     }     if (((v_r > 0) - (v_r < 0)) * ((v_l > 0) - (v_l < 0)) == 1) {       int tmp = r;       r = l + n / 2;       l = tmp;     }     int m, v_m;     while (r - l > 1) {       m = (r + l) / 2;       v_m = get(m, n);       if (v_m == 0) {         cout <<  !   << m << endl;         return 0;       }       if (((v_m > 0) - (v_m < 0)) * ((v_l > 0) - (v_l < 0)) == 1) {         l = m;         v_l = v_m;       } else {         r = m;         v_r = v_m;       }     }     cout <<  !   << -1 << endl;     return 0;   }   