#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; bool rcmp(int a, int b) { return a>b; } typedef long long LL; class mypcmp { public: bool operator()(const int& a, const int& b) { return a=n) { p=a; break; } b=i++; } else { while(i=n) break; a=i++; b=p; } mk[a]=1; mk[b]=1; printf("? %d %d\n", a, b); fflush(stdout); scanf("%d", &k); if (k==a) { p=b; break; } if (k==b) { p=a; break; } if (mk[k]) p=-1; else { p=k; mk[k]=1; } } printf("! %d\n", p); fflush(stdout); return 0; }