n,q=map(int,input().split()) x=[[],[]] for i in range(500): print('?',2*i+1,n,2*i+2,n) v=input()=='1' x[v].append(2*i+1) x[v^1].append(2*i+2) a=x[0][0] b=x[1][0] for i in range(1,500): p=x[0][i] print('?',a,a,p,p) if input()=='0': a=p p=x[1][i] print('?',b,n,p,n) if input()=='1': b=x[1][p] print('!',a,a,b,n)