#include using namespace std; int query(int i, int j) { cout << "? " << i << " " << j << endl; int d; cin >> d; return d; } void answer(int i, int j) { cout << "! " << i << " " << j << endl; } int main() { int H, W; cin >> H >> W; if(H == 1 && W == 1) { answer(1, 1); }else if(W == 1) { int d = query(1, 1); for(int i = 1; i <= H; i++) { if((i - 1) * (i - 1) == d) { answer(i, 1); } } }else if(H == 1) { int d = query(1, 1); for(int j = 1; j <= W; j++) { if((j - 1) * (j - 1) == d) { answer(1, j); } } }else { int d1 = query(1, 1); int d2 = query(1, W); for(int i = 1; i <= H; i++) { for(int j = 1; j <= W; j++) { int e1 = (i - 1) * (i - 1) + (j - 1) * (j - 1); int e2 = (i - 1) * (i - 1) + (j - W) * (j - W); if(d1 == e1 && d2 == e2) { answer(i, j); } } } } }