B. Камень-ножницы-бумага с ограничениями
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Пусть $$$n$$$ — некоторое положительное целое число, а $$$a, b, c$$$ — некоторые неотрицательные целые числа такие, что $$$a + b + c = n$$$.

Алиса и Боб собираются сыграть в камень-ножницы-бумага $$$n$$$ раз. Алиса знает последовательность жестов, которые будет играть Боб. Однако она должна сыграть камень ровно $$$a$$$ раз, бумагу — ровно $$$b$$$ раз, а ножницы — ровно $$$c$$$ раз.

Обратите внимание, что хоть игра и называется камень-ножницы-бумага, для синхронизации с английским названием все обозначения идут в порядке камень-бумага-ножницы.

Алиса выигрывает, если она побеждает Боба хотя бы в $$$\lceil \frac{n}{2} \rceil$$$ ($$$\frac{n}{2}$$$, округленное вверх до ближайшего целого) раундах, иначе — проигрывает.

Напоминаем, что в камень-ножницы-бумага:

  • камень побеждает ножницы;
  • бумага побеждает камень;
  • ножницы побеждают бумагу.

Ваша задача — по заданной последовательности жестов, которые будет играть Боб, и по числам $$$a, b, c$$$, определить, может ли Алиса выиграть. И если может, то найти некоторую последовательность жестов, которая приведет Алису к победе.

Если существует несколько решений, выведите любое из них.

Входные данные

В первой строке записано одно целое число $$$t$$$ ($$$1 \le t \le 100$$$) — количество наборов входных данных в тесте.

Затем следуют $$$t$$$ наборов входных данных, каждый из которых состоит из трех строк:

  • В первой строке записано одно целое число $$$n$$$ ($$$1 \le n \le 100$$$).
  • Во второй строке записаны три целых числа $$$a, b, c$$$ ($$$0 \le a, b, c \le n$$$). Гарантируется, что $$$a + b + c = n$$$.
  • В третьей строке содержится последовательность жестов $$$s$$$ длины $$$n$$$. $$$s$$$ состоит только из символов 'R', 'P' и 'S'. $$$i$$$-й символ равен 'R', если Боб в $$$i$$$-м раунде выбирает камень, 'P' — если бумагу и 'S' — если ножницы.
Выходные данные

Для каждого набора входных данных:

  • Если Алиса не может выиграть, то выведите «NO» (без кавычек).
  • Иначе выведите «YES» (без кавычек). Также выведите строку $$$t$$$ длины ровно $$$n$$$, которая состоит только из символов 'R', 'P' и 'S' — последовательность жестов, которую должна сыграть Алиса, чтобы выиграть. В $$$t$$$ должно быть ровно $$$a$$$ букв 'R', ровно $$$b$$$ букв 'P' и ровно $$$c$$$ букв 'S'.
  • Если существует несколько решений, выведите любое из них.

В части вывода с «YES»/«NO» регистр букв не имеет значения (например, «yEs», «no» or «YEs» — все корректные значения). Обратите внимание, что в 'R', 'P' и 'S' регистр важен.

Пример
Входные данные
2
3
1 1 1
RPS
3
3 0 0
RPS
Выходные данные
YES
PSR
NO
Примечание

В первом наборе входных данных примера, в первой игре Алиса выбирает бумагу, а Боб выбирает камень, поэтому Алиса побеждает Боба. Во второй игре Алиса выбирает ножницы, а Боб выбирает бумагу, поэтому Алиса побеждает Боба. В третьей игре Алиса выбирает камень, а Боб выбирает ножницы, поэтому Алиса побеждает Боба. Алиса побеждает Боба 3 раза, и $$$3 \ge \lceil \frac{3}{2} \rceil = 2$$$, поэтому Алиса выигрывает.

Во втором наборе входных данных примера единственная последовательность жестов, которые может выбрать Алиса — это «RRR». Алиса побеждает Боба только в последней игре, поэтому Алиса не может выиграть: $$$1 < \lceil \frac{3}{2} \rceil = 2$$$.