#include <bits/stdc++.h>
using namespace std;
const long long INF = 2000000000LL;
const long double EPS = 1e-9;
inline int askem(int num) {
  cout << "? " << num << "\n";
  fflush(stdout);
  int ret;
  cin >> ret;
  return ret;
}
inline void send(int nude) {
  cout << "! " << nude << "\n";
  fflush(stdout);
  exit(0);
}
int main() {
  int n;
  cin >> n;
  if (n % 4) send(-1);
  int a = askem(1);
  int b = askem(n / 2 + 1);
  if (a == b) send(1);
  bool flag = (a < b);
  int lo = 1, hi = n / 2;
  while (lo <= hi) {
    int mid = (lo + hi) / 2;
    int pa = askem(mid);
    int push_back = askem(mid + n / 2);
    if (pa == push_back) send(mid);
    bool tflag = (pa < push_back);
    if (tflag == flag)
      lo = mid + 1;
    else
      hi = mid - 1;
  }
  return 0;
}
