#include <bits/stdc++.h>
#pragma GCC diagnostic ignored "-Wsign-compare"
using namespace std;
int request(int id) {
  cout << "? " << id + 1 << endl;
  int ans;
  cin >> ans;
  return ans;
}
void ans(int ns) {
  cout << "! " << ns + 1 << endl;
  exit(0);
}
int get_b(int x, int n) { return request(x) - request((x + n / 2) % n); }
signed main() {
  int n;
  cin >> n;
  int dd = get_b(0, n);
  if (dd % 2) ans(-2);
  if (dd == 0) ans(0);
  int l = 0, r = n / 2;
  while (r - l > 1) {
    int m = (r + l) / 2;
    int vl = get_b(m, n);
    if (vl == 0) ans(m);
    if ((dd < 0) ^ (vl < 0)) {
      r = m;
    } else {
      l = m;
    }
  }
  return 0;
}
