def send_query(nums) STDOUT.puts(nums.join(' ')) STDOUT.flush a, b = gets.chomp.split.map(&:to_i) [a, b] end nums = [*0..9] [*0..9].combination(2) do |blo| nums = [*0..9] - blo c = 0 a, b = send_query(nums[0..3]) c += a + b a, b = send_query(nums[4..7]) c += a + b if c == 4 nums -= blo end end nums.permutation(4) do |list| a, b = send_query(list) break if a == 4 end