#include <bits/stdc++.h>
using namespace std;
int n, hn;
int ask(int p) {
  printf("? %d\n", p);
  fflush(stdout);
  int x;
  scanf("%d", &x);
  return x;
}
inline void init() {
  scanf("%d", &n);
  hn = (n >> 1);
}
inline void solve() {
  if (hn & 1) {
    puts("! -1");
    return;
  }
  int x = ask(1), y = ask(1 + hn);
  if (x == y) {
    puts("! 1");
    return;
  }
  int l = 1, r = hn - 1;
  if (x < y) {
    while (l <= r) {
      int mid = (l + r) >> 1;
      int a = ask(1 + mid) - x, b = ask(1 + mid + hn) - y;
      if (a == b + (y - x)) {
        printf("! %d", 1 + mid);
        return;
      }
      if (a < b + (y - x))
        l = mid + 1;
      else
        r = mid - 1;
    }
  } else {
    while (l <= r) {
      int mid = (l + r) >> 1;
      int a = ask(1 + mid) - x, b = ask(1 + mid + hn) - y;
      if (a == b + (y - x)) {
        printf("! %d", 1 + mid);
        return;
      }
      if (a > b + (y - x))
        l = mid + 1;
      else
        r = mid - 1;
    }
  }
  puts("! -1");
}
int main() {
  init();
  solve();
  return 0;
}
