l=1;h=10**9 while h-l>0 m=(h+l+1)/2; puts "? "+m.to_s;STDOUT.flush if 1==gets.to_i h=m-1 else l=m end end puts "! "+l.to_s