T = gets.to_i T.times do n, m = gets.split.map(&:to_i) a = gets.split.map(&:to_i).sort b = gets.split.map(&:to_i).sort if n == 0 puts 'Yes' b.each do |x| puts "Blue #{x}" end elsif m == 0 puts 'Yes' a.each do |x| puts "Red #{x}" end else a_cnt = a.tally b_cnt = b.tally c = a & b c_cnt = c.tally if c.empty? puts 'No' else puts 'Yes' t = 0 ans = [] c.each do |x| cnt = [a_cnt[x], b_cnt[x]].min cnt.times do if t.even? ans << "Red #{x}" ans << "Blue #{x}" else ans << "Blue #{x}" ans << "Red #{x}" end t += 1 end end if t.even? a.each do |x| next if c_cnt[x] ans << "Red #{x}" end b.each do |x| next if c_cnt[x] ans.unshift("Blue #{x}") end else b.each do |x| next if c_cnt[x] ans << "Blue #{x}" end a.each do |x| next if c_cnt[x] ans.unshift("Red #{x}") end end puts ans end end end