#include <bits/stdc++.h>
using namespace std;
int get_h(int pos, istream &cin, ostream &cout) {
  cout << "? " << pos + 1 << "\n";
  int x;
  cin >> x;
  return x;
}
int sign(int x) {
  if (x < 0) return -1;
  if (x > 0) return +1;
  return 0;
}
void solve(istream &cin, ostream &cout) {
  int n;
  cin >> n;
  int l = 0;
  int r = n - 1;
  int al1 = get_h(l, cin, cout);
  int al2 = get_h(l + n / 2, cin, cout);
  int ar1 = get_h(r, cin, cout);
  int ar2 = get_h((r + n / 2) % n, cin, cout);
  if (al1 == al2) {
    cout << "! " << l + 1 << "\n";
    return;
  }
  if (ar1 == ar2) {
    cout << "! " << r + 1 << "\n";
    return;
  }
  int q = 56;
  while (q >= 4) {
    int m = (l + r) / 2;
    int am1 = get_h(m, cin, cout);
    int am2 = get_h((m + n / 2) % n, cin, cout);
    int signl = sign(al1 - al2);
    int signr = sign(ar1 - ar2);
    int signm = sign(am1 - am2);
    q -= 4;
    if (signm == 0) {
      cout << "! " << m + 1 << "\n";
      return;
    }
    if (signm == signl) {
      l = m;
    } else {
      r = m;
    }
  }
  cout << "! -1"
       << "\n";
}
int main() {
  solve(cin, cout);
  return 0;
}
