func_code_string: #include <bits/stdc++.h>   using namespace std;   const double pi = acos(-1.0);   const int INF = 0x3f3f3f3f;   const int MOD = 1e9 + 7;   const double EPS = 1e-9;   int n, a[100015];   int main() {     scanf( %d , &n);     if (n % 4) {       printf( ! -1 n );       fflush(stdout);     } else {       printf( ? %d n , 1);       fflush(stdout);       scanf( %d , &a[1]);       printf( ? %d n , 1 + n / 2);       fflush(stdout);       scanf( %d , &a[1 + n / 2]);       int s, e;       if (a[1] == a[1 + n / 2]) {         printf( ! 1 n );         fflush(stdout);         return 0;       } else {         if (a[1] < a[1 + n / 2]) {           s = 1, e = 1 + n / 2;         } else {           s = 1 + n / 2, e = 1 + n;         }       }       while (s <= e) {         int mi = s + e >> 1;         int x = (mi + n - 1) % n + 1;         int y = (mi + n + n / 2 - 1) % n + 1;         printf( ? %d n , x);         fflush(stdout);         scanf( %d , &a[x]);         printf( ? %d n , y);         fflush(stdout);         scanf( %d , &a[y]);         if (a[x] == a[y]) {           printf( ! %d n , x);           fflush(stdout);           return 0;         } else if (a[x] < a[y]) {           s = mi + 1;         } else {           e = mi - 1;         }       }     }     return 0;   }   