import sys def m(L,U): return (L+U+1)//2 L=1 U=10**9 while L!=U: M=m(L,U) print("? {} [{},{}]".format(M,L,U)) sys.stdout.flush() r=int(input()) if r==1: L=M else: U=M-1 print("! {}".format(L)) exit()