#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main(){
ll n;
cin >> n;
ll len = 1;
auto extend = [&](ll end){
ll start = end - len;
if (start <= 0) return 0LL;
cout << "? " << start << " " << end << "\n";
cout.flush();
ll ok1;
cin >> ok1;
ll start2 = end - len - 1;
if (start2 < 1) return ok1;
cout << "? " << start2 << " " << end << "\n";
cout.flush();
ll ok2;
cin >> ok2;
if (ok2) return 2LL;
else if (ok1) return 1LL;
else return 0LL;
};
for (ll i = 2; i <= n; ++i){
while (true){
ll res = extend(i);
if (res == 0) break;
len += res;
}
}
cout << "! " << len << "\n";
cout.flush();
}