l, r = 0, 1000_000_000 + 10 while l < r border = (l + r + 1) / 2 puts "? #{border}" STDOUT.flush if gets.not_nil!.to_i == 1 l = border else r = border - 1 end end puts "! #{l}"