#include <bits/stdc++.h>
using namespace std;
int n;
int query(int p) {
  int q = p + n / 2;
  cout << "? " << p << endl;
  cout << "? " << q << endl;
  cout << flush;
  int a, b;
  cin >> a >> b;
  return a - b;
}
int v[100005];
bool solve(int l, int r) {
  int mid = (l + r) / 2;
  if (mid == l) return false;
  v[mid] = query(mid);
  if (v[mid] == 0) {
    cout << "! " << mid << endl;
    return true;
  }
  if (r - l <= 2) return false;
  if (v[l] * v[mid] < 0)
    return solve(l, mid);
  else if (v[mid] * v[r] < 0)
    return solve(mid, r);
}
int main() {
  cin >> n;
  v[1] = query(1);
  v[1 + n / 2] = -v[1];
  if (v[1] == 0)
    cout << "! " << 1 << endl;
  else if (!solve(1, 1 + n / 2))
    cout << "! -1" << endl;
  return 0;
}
