# include <bits/stdc++.h>
# define int long long
# define vi vector<int>
# define pb push_back
# define pii pair<int, int>
# define fi first
# define se second
using namespace std;
int n;
vi odd, even;
bool ask(int l, int r) {
cout << "? " << l << " " << r << endl;
int ret; cin >> ret;
return ret;
}
void solve () {
cin >> n;
for(int i=1; i<=n; i++) {
if(i%2==1) odd.pb(i);
else even.pb(i);
}
int l=0, r=odd.size()-1, ret=0;
while(l<=r) {
int mid=(l+r)/2, sz=odd[mid], ok=0;
for(int i=1; i<=(n-sz+1); i++) {
if(ask(i, i+sz-1)) {
ok=1;
break;
}
}
if(ok) l=mid+1, ret=mid;
else r=mid-1;
}
int ans=odd[ret];
l=0, r=even.size()-1, ret=-1;
while(l<=r) {
int mid=(l+r)/2, sz=even[mid], ok=0;
for(int i=1; i<=(n-sz+1); i++) {
if(ask(i, i+sz-1)) {
ok=1;
break;
}
}
if(ok) l=mid+1, ret=mid;
else r=mid-1;
}
if(ret!=-1) ans=max(ans, even[ret]);
cout << "! " << ans << endl;
}
signed main() {
solve();
}