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