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])