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): print('?',a,a,i,i) if input()=='0': a=x[0][i] print('?',b,n,i,n) if input()=='1': b=x[1][i] print('!',a,a,b,n)