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