def ask(l1, r1, l2, r2): print("?", l1, r1, l2, r2, flush=True) return int(input()) n, Q = map(int, input().split()) mi = [] ma = [] for i in range(1, n, 2): res = ask(i, n, i + 1, n) if res == 1: mi.append(i) ma.append(i + 1) else: mi.append(i + 1) ma.append(i) p1 = mi[0] for q1 in mi[1:]: res = ask(p1, n, q1, n) if res == 0: p1 = q1 p2 = ma[0] for q2 in ma[1:]: res = ask(p2, n, q2, n) if res == 1: p2 = q2 print("!", p1, p1, p2, n, flush=True)