#include <bits/stdc++.h>
using namespace std;

#define int long long
#define FIO ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);

int query(int l, int r) {
	if (l == r) {
		return -1;
	}

	cout << "? " << l << " " << r << endl;
	cout.flush();
	int ans;
	cin >> ans;
	return ans;
}

void solve() {
	int n;
	cin >> n;

	int idx =  query(1, n);
	int tmpIdx = query(1, idx);

	int ans;
	int l = 1, r = n;
	if (tmpIdx != idx) {
		l = idx + 1, r = n;
		while (l <= r) {
			int mid = (l + r) / 2;

			if (query(idx, mid) != idx) {
				l = mid + 1;
			} else {
				ans = mid;
				r = mid - 1;
			}
		}
	} else {
		l = 1, r = idx - 1;
		while (l <= r) {
			int mid = (l + r) / 2;

			if (query(mid, idx) != idx) {
				r = mid - 1;
			} else {
				ans = mid;
				l = mid + 1;
			}
		}
	}

	cout << "! " << ans << endl;
	cout.flush();
	// answer(ans);

	return;
}

signed main() {
	FIO;

	int tc(1);
	// cin >> tc;

	for (int i = 0; i < tc; i++) {
		// cout << "tc #" << i + 1 << " : ";
		solve();
	}

	return 0;
}