#include <bits/stdc++.h>
using namespace std;
void myexit();
int n;
int getInt(int m) {
  cout << "? " << m << endl;
  int k;
  cin >> k;
  cout << "? " << m + n / 2 << endl;
  int l;
  cin >> l;
  return k - l;
}
int main() {
  cin >> n;
  if (n % 4 != 0) {
    cout << "! -1" << endl;
    myexit();
  }
  int first = getInt(1);
  int second = -first;
  int l = 1;
  int r = n / 2 + 1;
  if (first == 0) {
    cout << "! 1" << endl;
    myexit();
  }
  while (true) {
    int m = (l + r) >> 1;
    int fm = getInt(m);
    if (fm == 0) {
      cout << "! " << m << endl;
      myexit();
    }
    if (1ll * fm * first > 0)
      l = m, first = fm;
    else
      r = m, second = fm;
  }
  myexit();
}
void myexit() { exit(0); }
