#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;
}
