H, W = map(int, input().split()) if H == W == 1: exit(print(f"! 1 1")) def ans(i, j): print(f"! {i} {j}") exit() def query(i, j): print(f"? {i} {j}") d = int(input()) if d >= 1: return d elif d == 0: ans(i, j) else: exit() ii, jj = H, W d = query(ii, jj) l = [] for i in range(1, H+1): for j in range(1, W+1): if (i - ii)**2 + (j - jj)**2 == d: l.append((i, j)) if len(l) == 1: ans(*l[0]) ii, jj = 1, W d = query(ii, jj) for i, j in l: if (i - ii)**2 + (j - jj)**2 == d: ans(i, j)