@n = gets.to_i def query(items) items = items.compact puts "? #{items.size}" puts items.map(&:succ)*' ' STDOUT.flush gets.to_i == 1 end flg = [false]*@n q = @n.times.to_a monster = [] @n.times do |i| q[i] = nil bomb = query(q) if !bomb flg[i] = true monster << i end q[i] = i end puts "! #{monster.size}" puts monster.map(&:succ)*' '