func_code_string: #include <bits/stdc++.h>   using namespace std;   int n;   void finish(int x) {     printf( ! %d n , x);     fflush(stdout);     exit(0);   }   int query(int x) {     int a, b, mult = 1;     if (x > n / 2) {       x -= n / 2;       mult = -1;     }     printf( ? %d n , x);     fflush(stdout);     scanf( %d , &a);     printf( ? %d n , x + n / 2);     fflush(stdout);     scanf( %d , &b);     if (a == b) finish(x);     return mult * (b - a);   }   int main() {     scanf( %d , &n);     if (n % 4 != 0) finish(-1);     int offset = 0, l = 1, r = n / 2;     int dif = query(1);     if (dif < 0) offset += n / 2;     while (l < r) {       int m = (l + r) / 2;       if (query(m + offset) > 0)         l = m + 1;       else         r = m - 1;     }     if (query(l) != 0) finish(-1);     return 0;   }   