#include <bits/stdc++.h>   using namespace std;   const int MAXN = 101000;   int N;   bool getv(int n) {     int a, b;     printf( ? %d n , 1 + n);     fflush(stdout);     scanf( %d , &a);     printf( ? %d n , 1 + n + (N / 2));     fflush(stdout);     scanf( %d , &b);     if (a == b) {       printf( ! %d n , 1 + n);       exit(0);     }     return a > b;   }   int main() {     scanf( %d , &N);     if (N % 4 > 0) {       printf( ! -1 n );       return 0;     }     bool bvt = getv(0);     int low = 0, high = N / 2;     while (high > low + 1) {       int mid = low + (high - low) / 2;       if (getv(mid) == bvt)         low = mid;       else         high = mid;     }     getv(high);     printf( ! -1 n );     return 0;   }   