#include <bits/stdc++.h>
using namespace std;
const int N = 3000, inf = 1e9 + 7, MOD = 998244353;
const long long INF = 2e18 + 7;
int n;
int getV(int i) {
  cout << "? " << i % n + 1 << endl;
  int a;
  cin >> a;
  return a;
}
void odp(int v = -1) {
  if (v != -1) {
    v = v % n + 1;
  }
  cout << "! " << v << endl;
  exit(0);
}
int main() {
  cin >> n;
  if (n & 2) {
    odp(-1);
  }
  int a = getV(0), b = getV(n / 2);
  if (a == b) {
    odp(0);
  }
  int l, p;
  if (a < b) {
    l = 0;
    p = n / 2;
  } else {
    l = n / 2;
    p = n;
  }
  while (p - l > 1) {
    int mid = (l + p) / 2;
    int lv = getV(mid), pv = getV(mid + n / 2);
    if (lv == pv) odp(mid);
    if (lv < pv) {
      l = mid;
    } else
      p = mid;
  }
  return 0;
}
