t=int;u=input;N,Q=map(t,u().split());s=[];l=[];k=lambda x,y:print("?",x,N,y,N);m=1;a=1; for i in range(0,N,2): k(p:=i+1,q:=i+2) if t(u()): k(a,q) if t(u()):a=q k(p,m) if t(u()):m=p else: k(a,p) if t(u()):a=p k(q,m) if t(u()):m=q print("!",m,m,a,N)