#include <bits/stdc++.h>
using namespace std;
int query(int x) {
  cout << '?' << ' ' << x + 1 << '\n';
  cout << flush;
  int u;
  cin >> u;
  return u;
}
bool one_sign(int x, int y) {
  bool f = (abs(x) == x);
  bool s = (abs(y) == y);
  return !(f ^ s);
}
signed main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  int n;
  cin >> n;
  int f = query(0);
  int s = query(n / 2);
  if (abs(f - s) % 2 == 1) {
    cout << "! -1" << flush;
    return 0;
  } else {
    if (f == s) {
      cout << "! 1" << flush;
      return 0;
    }
    int l = 0;
    int r = n / 2;
    int fq = f - s;
    while (r - l > 1) {
      int m = (r + l) / 2;
      int cur = query(m) - query(m + n / 2);
      if (one_sign(fq, cur)) {
        l = m;
      } else {
        r = m;
      }
    }
    if (query(l) == query(l + n / 2)) {
      cerr << "l is ok " << endl;
      cout << "! " << l + 1;
      return 0;
    } else {
      cout << "! " << r + 1;
      return 0;
    }
  }
}
