$>.sync=h=Hash.new [] f=->a{b=a.each_slice(2).map{|x,y|y ?(puts"? #{x} #{y}" h[z=gets.to_i]+=[x==z ?y:x] z):x} b[1]?f[b]:b[0]} puts"! #{f[h[f[[*1..gets.to_i]]]]}"