#include <bits/stdc++.h>
using namespace std;
int get(int x) {
  cout << "? " << x + 1 << endl;
  cin >> x;
  return x;
}
int ans(int x) {
  cout << "! " << x + 1 << endl;
  exit(0);
}
int main() {
  int n;
  cin >> n;
  int a1 = 0;
  int b1 = a1 + n / 2;
  ;
  int a2 = b1 - 1;
  int b2 = n;
  int av = get(a1);
  int bv = get(b1);
  if ((av - bv) % 2 != 0) {
    ans(-2);
    return 0;
  }
  if (av == bv) {
    ans(a1);
    return 0;
  }
  if (av > bv) {
    swap(av, bv);
    swap(a1, b1);
    swap(a2, b2);
  }
  int lo = a1;
  int hi = a2;
  while (lo <= hi) {
    int mid = (lo + hi) / 2;
    int m2 = (mid + n / 2) % n;
    int v1 = get(mid);
    int v2 = get(m2);
    if (v1 == v2) {
      ans(mid);
    }
    if (v1 < v2) {
      lo = mid + 1;
    } else {
      hi = mid - 1;
    }
  }
}
