#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
char x[];
char xx[];
int main() {
int t;
cin>>t;
while(t--) {
int a,b,c,n;
cin>>n>>a>>b>>c;
for(int i=; i<n; i++) xx[i]=;
scanf("%s",x);
int r=,p=,s=;
for(int i=; i<n; i++) {
if(x[i]=='R') r++;
else if(x[i]=='P') p++;
else s++;
}
int ans=;
ans+=min(r,b);
ans+=min(p,c);
ans+=min(s,a);
if(ans>=(n+)/) {
printf("YES\n");
for(int i=; i<n; i++) {
if(x[i]=='R'&&b>) {
xx[i]='P';
b--;
} else if(x[i]=='P'&&c>) {
xx[i]='S';
c--;
} else if(x[i]=='S'&&a>) {
a--;
xx[i]='R';
}
}
for(int i=; i<n; i++) {
if(xx[i]==) {
if(a>) {
printf("R");
a--;
} else if(b>) {
printf("P");
b--;
} else if(c>) {
c--;
printf("S");
}
} else printf("%c",xx[i]);
}
printf("\n");
} else {
printf("NO\n");
}
}
return ;
}

最新文章

  1. 用Metasploit破解Mysql用户名和密码
  2. Java自定义异常类
  3. 在iOS 应用中直接跳转到appstore的方法
  4. Minifying Angular应用时产生的问题
  5. Centos php项目发布问题
  6. 如何在PADS的封装中做非金属化孔
  7. jmeter测试手机app
  8. mac linux netstat -n
  9. careercup-树与图 4.3
  10. Android开发 解决AlertDialog中的EditText无法调出输入法的问题
  11. Android06-Fragment碎片
  12. 3.集--LinkedTransferQueue得知
  13. 通俗易懂地解决中文乱码问题(2) --- 分析解决Mysql插入移动端表情符报错 ‘incorrect string value: &#39;\xF0...
  14. SQL Server 索引维护sql语句
  15. 分布式任务调度平台XXL-JOB
  16. AngularJs with Webpackv1 升級到 Webpack4
  17. python 爬取可用
  18. 打造SharePoint之在线开发神器SPOnlineDevelopTool(一)——概述
  19. Python中生成器generator和迭代器Iterator的使用方法
  20. echarts中dataZoom的使用

热门文章

  1. Python_基础数据类型
  2. Java同步和异步过程中消息语言国际化处理策略
  3. Java后端API调用身份验证的思考
  4. 安装Docker到CentOS(YUM)
  5. 【Vue2.x笔记2】从源码看computed对象
  6. 题解 P5718 【【深基4.例2】找最小值】
  7. 一个简易git服务器的搭建
  8. matplotlib数组转图片的一些坑
  9. 精简Command版SqlHelper
  10. java - jmm之volatile特性