#include using namespace std; using ull = uint64_t; using ll = int64_t; using vi = vector; using vll = vector; using vs = vector; using ld = long double; using P = pair; using G = vector>; #define LO(...) (void)0 #define debug(x) (void)0 #define reps(i,a,n) for(ll i##_len = (ll)(n), i = (a); i < i##_len; ++i) #define rep(i,n) reps(i,0,(n)) #define rrep(i,n) reps(i,1,(n)+1) #define repd(i,n) for(ll i=(n)-1;i>=0;i--) #define rrepd(i,n) for(ll i=(n);i>=1;i--) namespace std {template istream &operator>>(istream &is, pair &v){return is>>v.first>>v.second;}} templatevoid input(T& a){cin>>a;} templatevoid input(T& a,Ts&... b){cin>>a;input(b...);} #define inp(...) ll __VA_ARGS__;input(__VA_ARGS__) #define inps(...) string __VA_ARGS__;input(__VA_ARGS__) #define inpp(p) cin >> (p).first >> (p).second #define inpv(v,N) vll v(N);rep(i,N)cin>>v[i]; #define inpvs(v,N) vs v(N);rep(i,N)cin>>v[i]; #define all(v) begin(v),end(v) #define Yes cout<<"Yes\n" #define No cout<<"No\n" #define allok(i,N,pred) [&]()->bool{bool allok_=1;rep(i,N)if(!(pred))allok_=0;return allok_;}() #define anyok(i,N,pred) [&]()->bool{bool anyok_=0;rep(i,N)if(pred)anyok_=1;return anyok_;}() inline void YESNO(bool b){cout<<(b?"YES\n":"NO\n");}inline void yesno(bool b){cout<<(b?"yes\n":"no\n");}inline void YesNo(bool b){cout<<(b?"Yes\n":"No\n");} #define SP cout<<' ' #define ENDL cout<<'\n' #define setfp cout<string join(const C &v){ostringstream s;bool f=1;for(auto &&e:v){if(!f)s<<' ';f=0;s<string joinadd(const C &v){ostringstream s;bool f=1;for(auto &&e:v){if(!f)s<<' ';f=0;s<void prv_(const C &v){cout<void prvadd_(const C &v){cout<void prv(const C &v){prv_(v);ENDL;} templatevoid prvadd(const C &v){prvadd_(v);ENDL;} templateusing rr_void_t=void; templatestruct is_container:false_type{}; templatestruct is_container>:true_type{}; template::value && !is_same::value>> void pr_(const T& a){prv_(a);} template::value || is_same::value>,typename=void> void pr_(const T& a){cout<void pr(const T& a){pr_(a);cout<<'\n';} templatevoid pr(const T& a,const Ts&... b){pr_(a);cout<<' ';pr(b...);} templatevoid prs(const T& a){pr_(a);SP;} inline ll max(ll a, ll b){return max(a, b);} inline ll min(ll a, ll b){return min(a, b);} templatebool chmax(T &a,const T &b){return abool chmin(T &a,const T &b){return b>void so(T &a,C c=C{}){sort(begin(a),end(a),c);} template>void rso(T &a,C c=C{}){sort(rbegin(a),rend(a),c);} templatevoid rev(T &a){reverse(begin(a),end(a));} constexpr ll INF = 1e18; int main() { inp(T); while(T--){ inp(N,M); inpv(a,N); inpv(b,M); set as; rep(i,N)as.insert(a[i]); ll co = 0; vll no; vll aa; rep(i,M){ if(as.count(b[i])){ as.erase(b[i]); aa.push_back(b[i]); co++; }else{ no.push_back(b[i]); } } if(N==0){ Yes; rep(i,M){ prs("Blue"); pr(a[i]); } }else if(M==0){ Yes; rep(i,M){ prs("Blue"); pr(a[i]); } }else if(co){ Yes; for(ll c : as){ prs("Red"); pr(c); } ll t = 0; for(ll c : aa){ prs(t%2 ? "Blue" : "Red"); pr(c); prs(t%2 ? "Red" : "Blue"); pr(c); if(t==0){ for(ll c : no){ prs("Blue"); pr(c); } } t++; } }else{ No; } } }