N=int(input()) if N==2: print('?',1,flush=True) print(1) ans,pos=map(int,input().split()) print('!',ans,flush=True) exit() print('?',2,flush=True) print(1,N) ans,pos=map(int,input().split()) z=ans if ans==-1: print('?',1,flush=True) print(1) ans,pos=map(int,input().split()) print('!',ans,flush=True) exit() p=[1] print(p[1]) print('?',1,flush=True) print(N) ans2,pos2=map(int,input().split()) if pos2==1: print('!',ans2,flush=True) else: print('!',z-ans2,flush=True)