N = gets.to_i def send_query(k) STDOUT.puts("? #{k}") STDOUT.flush gets.to_i end l = 1 r = N + 1 20.times do k = (l + r) / 2 s = send_query(k) if k.even? && s == k / 2 r = k break elsif s <= k / 2 l = k else r = k end end puts "! 1 #{r}"