#include <bits/stdc++.h>
using namespace std;
#define int long long
#define INF 1e18
int query(int l, int r) {
cout << "? " << l << " " << r << endl;
int yes; cin >> yes;
return yes;
}
void solve() {
int n;
cin >> n;
int ans = 1;
for (int i = 1; i <= n; i++) {
int l1 = i - ((ans + 1) / 2);
int r1 = i + ((ans + 1) / 2);
while (l1 >= 1 && r1 <= n) {
if (query(l1, r1)) ans = max(ans, r1 - l1 + 1), l1--, r1++;
else break;
}
int l2 = i - (ans / 2);
int r2 = i + ((ans + 2) / 2);
while (l2 >= 1 && r2 <= n) {
if (query(l2, r2)) ans = max(ans, r2 - l2 + 1), l2--, r2++;
else break;
}
}
cout << "! " << ans << endl;
}
int32_t main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
solve();
return 0;
}