#include using namespace std; int main() { int n; cin >> n; int m = n * (n - 1); vector dx(m), dy(m); for (int i = 1; i < m; i++) { cout << "? " << 1 << " " << i + 1 << endl; cin >> dx.at(i) >> dy.at(i); } int dxmax = *max_element(dx.begin(), dx.end()), dymax = *max_element(dy.begin(), dy.end()), dxmin = *min_element(dx.begin(), dx.end()), dymin = *min_element(dy.begin(), dy.end()); if (dxmax - dxmin < n - 1) { swap(dxmax, dymax); swap(dxmin, dymin); } assert(dxmax - dxmin == n - 1); assert(dymax - dymin == n - 2); }