N, Q = map(int, input().split()) X = [] for i in range(1, 1000, 2): print('?', i, N, i + 1, N) f = int(input()) if f: X.append((i, i + 1)) else: X.append((i + 1, i)) while len(X) > 1: m, M = X.pop() mm, MM = X.pop() print('?', m, N, mm, N) f = int(input()) if f == 0: m = mm print('?', M, N, MM, N) f = int(input()) if f: M = MM X.append((m, M)) l, ll = X.pop() print('!', l, l, ll, N)