def dist(x,y,z,w): return (x-z)**2+(y-w)**2 H,W=list(map(int,input().split())) if H==1 and W==1: print("!",1,1) exit() print("?",1,1) d1=int(input()) anss=[] for i in range(1,H+1): for j in range(1,W+1): if d1==dist(1,1,i,j): anss.append((i,j)) if len(anss)==1: print("!",anss[0][0],anss[0][1]) exit() print("?",H,W) d1=int(input()) anss2=[] for i,j in anss: if d1==dist(H,W,i,j): anss2.append((i,j)) if len(anss2)==1: print("!",anss2[0][0],anss2[0][1]) exit() print("?",anss2[0][0],anss2[0][1]) d=int(input()) if d==0: print("!",anss2[0][0],anss2[0][1]) else: print("!",anss2[1][0],anss2[1][1])