#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 9;
int n, b[N], a[N];
int getb(int i) {
  if (b[i] != INT_MAX) return b[i];
  cout << "? " << i << endl;
  cin >> a[i];
  cout << "? " << i + n / 2 << endl;
  cin >> a[i + n / 2];
  b[i] = a[i] - a[i + n / 2];
  return b[i];
}
signed main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cin >> n;
  for (int i = 0; i <= n; i++) b[i] = INT_MAX;
  if (getb(1) & 1) {
    cout << "! -1" << endl;
    return 0;
  }
  int lo = 1, hi = n / 2;
  while (lo <= hi) {
    int mid = (lo + hi) / 2;
    if (getb(mid) == 0) {
      cout << "! " << mid << endl;
      return 0;
    } else if (getb(mid) * getb(lo) > 0) {
      lo = mid + 1;
    } else {
      hi = mid - 1;
    }
  }
  return 0;
}
