H,W=map(int,input().split()) def query(i,j): print('?',i+1,j+1) res=int(input()) return res def answer(i,j): print('!',i+1,j+1) exit() G1=[[0]*W for _ in range(H)] G2=[[0]*W for _ in range(H)] for i in range(H): for j in range(W): G1[i][j]=i**2+j**2 G2[i][j]=(H-1-i)**2+j**2 if H==1 and W==1: answer(0,0) exit() if H==1 or W==1: d1=query(0,0) for i in range(H): for j in range(W): if G1[i][j]==d1: answer(i,j) exit() d1=query(0,0) d2=query(H-1,0) for i in range(H): for j in range(W): if G1[i][j]==d1 and G2[i][j]==d2: answer(i,j)