#include using namespace std; int main(void){ int n; cin>>n; stack>st; vector>ans; for(int i=n-2;i>=0;i--){ st.push({i,i+1,n-1}); } int q=0; while(!st.empty()){ arraytmp=st.top(); st.pop(); if(q>4500)return 1; q++; cout<<"? 1 "<>a; if(a==-1)return 1; if(a){ if(tmp[2]==tmp[1]){ ans.push_back({tmp[0],tmp[1]}); }else{ st.push({tmp[0],tmp[1],(tmp[1]+tmp[2])/2}); st.push({tmp[0],(tmp[1]+tmp[2])/2+1,tmp[2]}); } } } cout<<"! "<