#include using namespace std; int main() { auto qry = [&](int x, int y) -> bool { cout << "? " << x << ' ' << y << endl; string res; cin >> res; return res == "1"; }; auto commit = [&](int x, int y) { cout << "! " << x << ' ' << y << endl; exit(0); }; if(qry(2, 2)) { if(qry(1, 1)) commit(1, 1); if(qry(1, 2)) commit(1, 2); if(qry(2, 1)) commit(2, 1); commit(2, 2); } if(qry(2, 4)) { if(qry(1, 3)) commit(1, 3); if(qry(1, 4)) commit(1, 4); if(qry(2, 3)) commit(2, 3); commit(2, 4); } if(qry(4, 2)) { if(qry(3, 2)) { if(qry(3, 1)) commit(3, 1); commit(3, 2); } if(qry(4, 1)) commit(4, 1); commit(4, 2); } // 4 4 known if(qry(3, 4)) { if(qry(3, 3)) commit(3, 3); commit(3, 4); } if(qry(4, 3)) { commit(4, 3); } commit(4, 4); }