#include<iostream>
using namespace std;

int query(int a, int b) {
	cout << "? " << a << " " << b << endl;
	cout.flush();
	int ret;
	cin >> ret;
	return ret;
}

int main() {
	int n;
	cin >> n;
	int lt = 1, rt = n;
	int sec = query(1, n);
	while (rt - lt > 0) {
		int mid;
		if (rt + lt <= 2 * sec) {
			mid = (rt + lt + 1) / 2;
			if (mid == n) {
				rt = n - 1;
				break;
			}
			if (query(mid, n) == sec) lt = mid;
			else rt = mid - 1;
		}
		if (rt+lt > 2*sec) {
			mid = (rt + lt) / 2;
			if (mid == 1) {
				lt = 2;
				break;
			}
			if (query(1, mid) == sec) rt = mid;
			else lt = mid + 1;
		}
	}
	cout << "! " << lt << endl;
	cout.flush();
}