#include <bits/stdc++.h>
using namespace std;
int cnt = 0;
long long int query(long long int y) {
  cnt++;
  if (cnt > 60) {
    cout << "! -1\n";
    fflush(stdout);
    exit(0);
  }
  cout << "? " << y << "\n";
  fflush(stdout);
  long long int t;
  cin >> t;
  return t;
}
void cquery(int y) {
  cout << "! " << y << "\n";
  fflush(stdout);
}
int main() {
  int n;
  cin >> n;
  int low = 1;
  int high = n;
  while (low <= high) {
    int mid = low + high;
    mid /= 2;
    long long int a = query(1LL * mid);
    int nn2 = 0;
    if (mid + n / 2 > n)
      nn2 = mid - n / 2;
    else
      nn2 = mid + n / 2;
    long long int b = query(1LL * nn2);
    if (a == b) {
      cquery(mid);
      exit(0);
    }
    if (a > b) {
      high = mid - 1;
    } else {
      low = mid + 1;
    }
  }
  cquery(-1 * 1LL);
  return 0;
}
