#include <bits/stdc++.h>
using namespace std;
int main()
{
int t,r,p,s;
string str;
cin >> t;
while(t--)
{
int n;
string ans="";
cin >> n;
cin >> r >> p >> s;
cin >> str;
int wins = 0;
for(int i=0; i<str.length(); i++)
{
if(str[i] == 'R')
{
if(p == 0)
{
ans += "0";
}
else
{
p--;
ans += "P";
wins++;
}
}
else if(str[i] == 'P')
{
if(s == 0)
{
ans += "0";
}
else
{
s--;
ans += 'S';
wins++;
}
}
else
{
if(r == 0)
{
ans += "0";
}
else
{
r--;
ans += 'R';
wins++;
}
}
}
if(wins >= ceil(n/2) )
{
cout << "YES\n";
for(int i=0; i<ans.length(); i++)
{
if(ans[i] != '0')
{
cout << ans[i];
}
else
{
if(r > 0)
{
cout << "R"; r--;
}
else if(p > 0)
{
cout << "P"; p--;
}
else if(s > 0)
{
cout << "S"; s--;
}
}
}
cout << "\n";
}
else
cout << "NO\n";
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIAp7CglpbnQgdCxyLHAsczsKCXN0cmluZyBzdHI7CgljaW4gPj4gdDsKCXdoaWxlKHQtLSkKCXsKCQlpbnQgbjsKCQlzdHJpbmcgYW5zPSIiOwoJCWNpbiA+PiBuOwoJCWNpbiA+PiByID4+IHAgPj4gczsKCQljaW4gPj4gc3RyOwoJCWludCB3aW5zID0gMDsKCQlmb3IoaW50IGk9MDsgaTxzdHIubGVuZ3RoKCk7IGkrKykKCQl7CgkJCWlmKHN0cltpXSA9PSAnUicpCgkJCXsKCQkJCWlmKHAgPT0gMCkKCQkJCXsKCQkJCQlhbnMgKz0gIjAiOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCXAtLTsKCQkJCQlhbnMgKz0gIlAiOwoJCQkJCXdpbnMrKzsKCQkJCX0KCQkJfQoJCQllbHNlIGlmKHN0cltpXSA9PSAnUCcpCgkJCXsKCQkJCWlmKHMgPT0gMCkKCQkJCXsKCQkJCQlhbnMgKz0gIjAiOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCXMtLTsKCQkJCQlhbnMgKz0gJ1MnOwoJCQkJCXdpbnMrKzsKCQkJCX0KCQkJfQoJCQllbHNlCgkJCXsKCQkJCWlmKHIgPT0gMCkKCQkJCXsKCQkJCQlhbnMgKz0gIjAiOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCXItLTsKCQkJCQlhbnMgKz0gJ1InOwoJCQkJCXdpbnMrKzsKCQkJCX0KCQkJfQoJCX0KCQlpZih3aW5zID49IGNlaWwobi8yKSApIAoJCXsKCQkJY291dCA8PCAiWUVTXG4iOwoJCQlmb3IoaW50IGk9MDsgaTxhbnMubGVuZ3RoKCk7IGkrKykKCQkJewoJCQkJaWYoYW5zW2ldICE9ICcwJykKCQkJCXsKCQkJCQljb3V0IDw8IGFuc1tpXTsKCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQlpZihyID4gMCkKCQkJCQl7CgkJCQkJCWNvdXQgPDwgIlIiOyByLS07CgkJCQkJfQoJCQkJCWVsc2UgaWYocCA+IDApCgkJCQkJewoJCQkJCQljb3V0IDw8ICJQIjsgcC0tOwoJCQkJCX0KCQkJCQllbHNlIGlmKHMgPiAwKQoJCQkJCXsKCQkJCQkJY291dCA8PCAiUyI7IHMtLTsKCQkJCQl9CgkJCQl9CgkJCX0KCQkJY291dCA8PCAiXG4iOwoJCX0KCQllbHNlCgkJCWNvdXQgPDwgIk5PXG4iOwoJfQoJcmV0dXJuIDA7Cn0=