N,Q=map(int,input().split()) small=[] large=[] for i in range(0,N,2): print("?",i+1,N-1,i+2,N-1) res=input() if res=="1": large.append(i+1) small.append(i+2) else: large.append(i+2) small.append(i+1) sm=small[0] for i in small: print("?",sm,N-1,i,N-1) res=input() if res=="1": sm=i la=large[0] for i in large: print("?",la,N-1,i,N-1) res=input() if res=="0": la=i print("!",sm,sm,la,N-1)