H,W = map(int,input().split()) if H*W==1: print("! 1 1") else: B1 = {} for i in range(1,H+1): for j in range(1,W+1): d = (i-1)**2+(j-1)**2 if d not in B1: B1[d] = set() B1[d].add((i,j)) print("? 1 1") d1 = int(input()) A1 = list(B1[d1]) i1 = A1[0][0] j1 = A1[0][1] if len(A1)==1: print(f"! {i1} {j1}") else: B2 = {} for i in range(1,H+1): for j in range(1,W+1): d = (i-i1)**2+(j-j1)**2 if d not in B2: B2[d] = set() B2[d].add((i,j)) print(f"? {i1} {j1}") d2 = int(input()) B2[d2] = B1[d1]&B2[d2] A2 = list(B2[d2]) i2 = A2[0][0] j2 = A2[0][1] if len(A2)==1: print(f"! {i2} {j2}") else: print(f"? {i2} {j2}") d3 = int(input()) if d3==0: print(f"! {i2} {j2}") else: print(f"! {A2[1][0]} {A2[1][1]}")