O=print J=lambda:map(int,input().split()) T,x,y,z,w=J() l,r=0,T while l>1;O("?",m,flush=True);u,v=J() if abs(u-x)+abs(v-y)-abs(u-z)-abs(v-w)>0:r=m else:l=m O("!",[l,T][[x,y]==[z,w]])