#include <bits/stdc++.h>
#pragma GCC optimize("O3")
using namespace std;
int n;
int cross(int p) {
  p++;
  int x, y;
  cout << "? " << p << endl;
  cin >> x;
  cout << "? " << p + (n / 2) << endl;
  cin >> y;
  if (x == y) {
    cout << "! " << p << endl;
    exit(0);
  }
  return x < y;
}
int main() {
  cin >> n;
  int dir = cross(0);
  int l = 0, r = n / 2, md;
  for (int i = 0; i < 25; i++) {
    md = (l + r) / 2;
    if (cross(md) == dir) {
      l = md;
    } else {
      r = md;
    }
  }
  cout << "! -1" << endl;
  return 0;
}
