$t = 0 def ask(x, y) # $t += 1 # ANS.each do |a| # if a == x || a == y # return a # end # end # raise puts "? #{x} #{y}" STDOUT.flush return gets.to_i end N = gets.to_i ANS = [0] + (1..N).to_a.shuffle as = (1..N).to_a.shuffle a1, a2 = as.shift(2) a1, a2 = a2, a1 if ask(a1, a2) == a2 as.each do |a| if ask(a2, a) == a if ask(a1, a) == a a1, a2 = a, a1 else a2 = a end end end puts "! #{a2}" # puts ANS[2] # puts $t