import collections T = int(input()) for _ in range(T): N, M = map(int, input().split()) try: A = list(map(int, input().split())) B = list(map(int, input().split())) except: if N==0: A = [] if M==0: B = [] #辞書型の生成 AB = collections.Counter(A+B) AB_keys = list(AB.keys()) AB_values = list(AB.values()) #何もない if N==0 and M==0: print("Yes") continue #Noのパターン if max(AB_values)==1 and N>0 and M>0: print("No") continue #Yesのパターン print("Yes") #Redのみ if M==0: for i in range(N): print("Red", A[i]) #Blueのみ if N==0: for i in range(M): print("Blue", B[i]) #大本命 if N>0 and M>0: #Redで1つしかないやつを表示する。 for i in range(N): if AB[A[i]]==1: print("Red", A[i]) #1回目の共通項を表示する cnt = 0 for i in range(N): if AB[A[i]]>1: print("Red", A[i]) print("Blue", A[i]) cnt += 1 save_point = i break #Blueで1つしかないやつを表示する。 for i in range(M): if AB[B[i]]==1: print("Blue", B[i]) #2回目の共通項 for i in range(save_point+1, N): if AB[A[i]]>1 and cnt%2==0: print("Red", A[i]) print("Blue", A[i]) cnt += 1 elif AB[A[i]]>1 and cnt%2==1: print("Blue", A[i]) print("Red", A[i]) cnt += 1