#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define REP(i,m,n) for(int i=(int)m ; i < (int) n ; ++i ) #define rep(i,n) REP(i,0,n) typedef long long ll; typedef pair pint; typedef pair pli; const int inf=1e9+7; const ll longinf=1LL<<60 ; const ll mod=1000003 ; int main(){ int n; cin >> n; queue que; for(int i=1;i<=n;i++)que.push(i); while(que.size()>=3){ int x=que.front(); que.pop(); int y=que.front(); que.pop(); cout << "? " << x << ' ' << y << endl; int temp; cin >> temp; que.push(temp); } int xx=que.front(); que.pop(); int yy=que.front(); que.pop(); int ans; cout << "? " << xx << ' ' << yy << endl; cin >> ans; if(ans==xx){ cout << "! " << yy << endl; } else cout << "! " << xx << endl; return 0;}