#include <bits/stdc++.h>
using namespace std;
int main() {
  int t;
  cin >> t;
  int n, a, b, c;
  string s;
  int cnt[3];
  while (t--) {
    cin >> n >> a >> b >> c;
    cin >> s;
    for (int i = 0; i < 3; i++) {
      cnt[i] = 0;
    }
    for (int i = 0; i < s.size(); i++) {
      if (s[i] == 'R') {
        cnt[0]++;
      } else if (s[i] == 'P') {
        cnt[1]++;
      } else {
        cnt[2]++;
      }
    }
    int m = ceil((double)n / 2);
    int g = 0;
    g += min(cnt[0], b);
    g += min(cnt[1], c);
    g += min(cnt[2], a);
    char ans[n];
    for (int i = 0; i < n; i++) {
      ans[i] = '-';
    }
    if (g >= m) {
      for (int i = 0; i < s.size(); i++) {
        if (s[i] == 'R') {
          if (b > 0) {
            ans[i] = 'P';
            b--;
          }
        } else if (s[i] == 'P') {
          if (c > 0) {
            ans[i] = 'S';
            c--;
          }
        } else {
          if (a > 0) {
            ans[i] = 'R';
            a--;
          }
        }
      }
      for (int i = 0; i < n; i++) {
        if (ans[i] == '-') {
          if (b > 0) {
            ans[i] = 'P';
            b--;
          } else if (c > 0) {
            ans[i] = 'S';
            c--;
          } else if (a > 0) {
            ans[i] = 'R';
            a--;
          }
        }
      }
      cout << "YES" << endl;
      for (int i = 0; i < n; i++) {
        cout << ans[i];
      }
      cout << endl;
    } else {
      cout << "NO" << endl;
    }
  }
  return 0;
}
