#include <bits/stdc++.h>
using namespace std;
int n;
long long query(long long x) {
  cout << "? " << x << '\n';
  fflush(stdout);
  long long ans;
  cin >> ans;
  return ans;
}
void print(long long x) {
  cout << "! " << x << '\n';
  fflush(stdout);
}
void solve() {
  cin >> n;
  long long b1 = query(1), b2 = query(n / 2 + 1);
  if (abs(b1 - b2) % 2) {
    print(-1);
    return;
  }
  if (b1 == b2) {
    print(1);
    return;
  }
  long long l = 2, r = n / 2;
  while (l <= r) {
    long long m = l + (r - l) / 2;
    long long m1 = query(m), m2 = query(m + n / 2);
    if (m1 == m2) {
      print(m);
      return;
    }
    if (m1 > m2) {
      if (b1 > b2)
        l = m + 1;
      else
        r = m - 1;
    }
    if (m1 < m2) {
      if (b1 < b2)
        l = m + 1;
      else
        r = m - 1;
    }
  }
}
int main() {
  long long t = 1;
  while (t--) {
    solve();
  }
}
