孩提时代,Jeyeon 有 $N$ 个编号为 $1$ 到 $N$ 的弹珠和无数个袋子。每个弹珠要么是红色的,要么是蓝色的。起初,每个弹珠都独自装在自己的袋子里。
Jeyeon 记录了一本日记,写下了他对弹珠做出的每一次改变。日记包含 $M$ 条记录。记录共有三种类型:
1 i j:合并包含弹珠 $i$ 的袋子和包含弹珠 $j$ 的袋子。($1 \le i, j \le N$)2 i:永远失去弹珠 $i$。($1 \le i \le N$)3 i l h:观察到包含弹珠 $i$ 的袋子中,红色弹珠的数量至少为 $l$ 且至多为 $h$。($1 \le i \le N, 0 \le l \le h \le N$)
10 年后,Jeyeon 翻看他的日记,并试图恢复每个弹珠的颜色。请构造一个满足他日记中所有记录的颜色序列,或者指出不存在这样的序列。
输入格式
第一行包含两个整数 $N$ 和 $M$ ($2 \le N \le 2000, 1 \le M \le 4000$)。
接下来的 $M$ 行包含按上述格式描述的日记记录。
输入数据保证:在执行任何类型 1 的操作之前,弹珠 $i$ 和 $j$ 处于不同的袋子中;并且在类型 2 操作中失去的弹珠在后续的任何记录中都不会被再次提及。
输出格式
第一行,如果存在一种满足所有 $M$ 条记录的 $N$ 个弹珠的颜色序列,输出 YES。否则,输出 NO。
如果答案为 YES,在下一行输出一个长度为 $N$ 的字符串。如果弹珠 $i$ 是红色的,则字符串的第 $i$ 个字符必须为 R;如果弹珠 $i$ 是蓝色的,则为 B。如果存在多个满足条件的答案,输出其中任意一个即可。
样例
输入样例 1
5 9 1 2 4 1 1 5 3 4 1 2 3 5 0 1 1 4 1 3 4 2 5 2 1 3 4 0 1 3 3 1 1
输出样例 1
YES RBRRB
输入样例 2
3 4 1 1 2 3 2 1 2 1 2 3 3 3 0 0
输出样例 2
NO