F. Палитра Пита Мондриана
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Пит Мондриан — художник, наиболее известный своими минималистскими работами, состоящими только из четырех цветов: красного, желтого, синего и белого. Большинство людей объясняют это его стилем, но правда заключается в том, что смешивание двух его основных цветов лишь создает другой основной цвет!

Менее известное произведение, названное «Претенциозные прямоугольники»

Последовательность из нескольких основных цветов (красного, желтого и синего) смешивается следующим образом: пока есть хотя бы два цвета, посмотрим на первые два. Если они разные, заменим их на недостающий в этой паре цвет. Если они одинаковые, удалим их из последовательности. В конце, если в последовательности есть один цвет, этот цвет будет результатом смешивания. Иначе, если последовательность пустая, результатом смешивания будет белый. Рассмотрим два примера смешивания последовательности цветов:

 

У Пита есть цветная палитра, состоящая из нескольких клеток, пронумерованых от $$$1$$$ до $$$n$$$. Каждая клетка пустая или содержит один из основных цветов. Пит очень секретный и не покажет вам свою палитру, поэтому вы не знаете, какие цвета находятся в каждой клетке.

Несмотря на это, художник выполнил $$$k$$$ операций. Всего есть четыре вида операций:

  1. Операция mix: Пит выбирает подмножество клеток и смешивает цвета в выбранных клетках в некотором порядке (не обязательно по возрастанию индексов). Он записывает получившийся цвет. Пустые клетки не влияют на процесс смешивания и игнорируются. Смешивание не влияет на цвета в клетках палитры.
  2. Операция RY: Пит выбирает подмножество клеток. Каждая красная клетка в этом подмножестве становится желтой, и каждая желтая клетка в этом подмножестве становится красной. Синие и пустые клетки не меняют свой цвет.
  3. Операция RB: Пит выбирает подмножество клеток. Каждая красная клетка в этом подмножестве становится синей, и каждая синяя клетка в этом подмножестве становится красной. Желтые и пустые клетки не меняют свой цвет.
  4. Операция YB: Пит выбирает подмножество клеток. Каждая желтая клетка в этом подмножестве становится синей, и каждая синяя клетка в этом подмножестве становится желтой. Красные и пустые клетки не меняют свой цвет.

Пит сказал вам список операций, которые он выполнил, в хронологическом порядке, с соответствующими индексами и результатами каждой операции mix. Имея эту информацию, определите цвет каждой клетки в изначальной палитре. Вы должны найти одно из возможных состояний изначальной палитры (до применения операций) или сказать, что описанная ситуация невозможна.

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

В первой строке находятся два целых числа $$$n$$$ и $$$k$$$ ($$$1\le n,k\le 1000$$$) — количество клеток в палитре и количество операций соответственно.

Следующие $$$k$$$ строк описывают операции. $$$i$$$-я из этих строк начинается с названия $$$i$$$-й операции и целого числа $$$m$$$ ($$$1\le m\le n$$$) — количества использованных в операции индексов. Затем следуют $$$m$$$ целых чисел $$$j_1,\ldots,j_m$$$ ($$$1\le j_i\le n$$$) — индексы клеток, выбранных в операции. Гарантируется, что в каждой операции все $$$j_i$$$ различны. Если это операция mix, индексы перечисляются в том порядке, в котором цвета смешиваются, и в конце строки также дается один символ, означающий получившийся в результате смешивания цвет: «R» для красного, «Y» для желтого, «B» для синего и «W» для белого.

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

В первой строке выведите «YES», если решение существует, и «NO» иначе. Вы можете выводить каждый символ в любом регистре (верхнем или нижнем).

Если ответ «YES», в следующей строке выведите строку длины $$$n$$$, состоящую из символов «R», «Y», «B» или «.», задающую цвета $$$n$$$ клеток на изначальной палитре (красный, желтый, синий цвета и пустая клетка соответственно). Если есть несколько возможных изначальных палитр, выведите любую. Вы можете выводить каждый символ в любом регистре (верхнем или нижнем).

Примеры
Входные данные
3 2
mix 2 2 1 R
mix 2 1 3 Y
Выходные данные
YES
YB.
Входные данные
2 3
mix 1 2 Y
RB 1 2
mix 1 2 W
Выходные данные
NO
Входные данные
1 3
RY 1 1
YB 1 1
mix 1 1 B
Выходные данные
YES
R
Входные данные
3 8
mix 2 1 2 R
mix 2 1 3 Y
RY 2 2 3
RB 3 1 2 3
YB 3 1 2 3
mix 1 1 W
mix 1 2 B
mix 1 3 Y
Выходные данные
YES
.RY
Примечание

В первом тесте ответ «YB.» не противоречит обоим смешиваниям. При первом смешивании последовательности цветов «BY» получится красный цвет, при втором смешивании последовательности цветов «Y» получится желтый цвет (пустые клетки игнорируются). Некоторые другие возможные ответы: «BYR» и «.RY».

Во втором тесте можно показать, что не существует ни одной не противоречивой расстановки цветов на изначальной палитре.

В третьем тесте ответ «R» не противоречит никаким операциям. В первой операции палитра меняется на «Y», затем на «B». В последней операции при смешивании последовательности цветов «B» получается синий цвет.

В четвертом тесте ответ «.RY» не противоречит никаким операциям. В первых двух смешиваниях последовательности цветов «R» и «Y» смешиваются в красный и желтый цвета соответственно. В следующих трех операциях палитра изменяется на «.YR», затем на «.YB», затем на «.BY». Последние три смешивания согласуются с получившейся палитрой.