#include <bits/stdc++.h>
using namespace std;
const int maxN = 100005;
int n, a[maxN];
bool visited[maxN];
int ask(int x) {
  if (visited[x]) {
    return a[x];
  }
  visited[x] = true;
  cout << "? " << x << endl;
  fflush(stdout);
  int l, r;
  cin >> l;
  cout << "? " << (x + n / 2) << endl;
  fflush(stdout);
  cin >> r;
  if (l == r) {
    cout << "! " << x << endl;
    exit(0);
  }
  a[x] = r - l;
}
void question(int l, int r) {
  int m = (l + r) >> 1;
  long long vall = ask(l);
  long long valm = ask(m);
  long long valr = ask(r);
  if (vall * valm < 0) {
    question(l, m);
  } else if (valm * valr < 0) {
    question(m + 1, r);
  }
}
int main() {
  cin >> n;
  if (n % 4) {
    cout << "! -1" << endl;
  } else {
    question(1, n / 2);
    cout << "! -1" << endl;
  }
  return 0;
}
