using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); static int[][] NArr(long n) => Enumerable.Repeat(0, (int)n).Select(_ => NList).ToArray(); static string[] SList(long n) => Enumerable.Repeat(0, (int)n).Select(_ => ReadLine()).ToArray(); public static void Main() { Solve(); } static void Solve() { var t = NN; var ans = new List(); for (var u = 0; u < t; ++u) { var c = NList; var (n, m) = (c[0], c[1]); var a = new int[n]; var b = new int[n]; if (n > 0) a = NList; else ReadLine(); if (m > 0) b = NList; else ReadLine(); var bset = new HashSet(b); var eq = new HashSet(); foreach (var ai in a) if (bset.Contains(ai)) eq.Add(ai); if (n == 0) { ans.Add("Yes"); foreach (var bi in b) ans.Add("Blue " + bi); } else if (m == 0) { ans.Add("Yes"); foreach (var ai in a) ans.Add("Red " + ai); } else if (eq.Count == 0) { ans.Add("No"); } else { ans.Add("Yes"); foreach (var ai in a) if (!eq.Contains(ai)) ans.Add("Red " + ai); var tmp = 0; foreach (var ai in eq) { if (tmp % 2 == 0) { ans.Add("Red " + ai); ans.Add("Blue " + ai); } else { ans.Add("Blue " + ai); ans.Add("Red " + ai); } if (tmp == 0) { foreach (var bi in b) if (!eq.Contains(bi)) ans.Add("Blue " + bi); } ++tmp; } } } WriteLine(string.Join("\n", ans)); } }