메모리 제한에 유의하세요.
어린 시절 제연이는 1부터 N까지의 번호가 쓰여 있는 N개의 구슬을 가지고 있었다. 각 구슬은 붉은색 또는 푸른색을 띠고 있었으며, 제연이는 구슬들을 N개의 서로 다른 주머니에 하나씩 넣어 보관했다.
제연이는 구슬들을 소중히 여겼다. 그래서 매일매일 구슬들을 가지고 한 행동들을 모두 일기장에 순서대로 기록했다. 제연이가 일기장에 기록한 일은 다음 세 종류 중 하나이다.
1 i j : i번 구슬이 들어 있는 주머니와 j번 구슬이 들어 있는 주머니를 합친다. (1≤i,j≤N)2 i : i번 구슬을 갖고 놀다가 잃어버린다. (1≤i≤N) 슬프게도 잃어버린 구슬은 영영 다시 찾지 못했다.3 i l h : i번 구슬이 들어 있는 주머니를 관찰한다. 그 주머니에는 붉은색 구슬이 l개 이상 h개 이하 들어 있었다. (1≤i≤N,0≤l≤h≤N)10년이 지난 뒤, 제연이는 M개의 기록이 적혀 있는 일기장을 발견했다. 그 시절의 순수함을 잃어버린 제연이는 일기장을 보고 각 구슬의 색깔을 복원하기로 했다. 혼자서 색깔을 복원할 생각을 하니 눈앞이 샛노래진 제연이를 도와주자.
단, 구슬은 항상 주머니에 넣어서 보관했으며, 일기장에 기록되지 않은 구슬의 이동이나 변화는 없었다고 가정한다.
첫째 줄에 정수 N과 M(2≤N≤2 000,,1≤M≤4 000)이 주어진다.
둘째 줄부터 M개의 줄에 일기장의 기록이 위에서 설명한 형식으로 주어진다. 이전에 잃어버리지 않은 구슬만 기록에 등장하며, 1번 종류의 기록에서 i번 구슬과 j번 구슬은 다른 주머니에 속해 있는 상태였음이 보장된다.
M개의 기록을 모두 만족하는 N개 구슬의 색깔 조합이 존재한다면 YES를, 존재하지 않는다면 NO를 출력한다.
그러한 색깔 조합이 존재한다면, 다음 줄에 길이 N의 문자열을 출력한다. 문자열의 i번째 문자는 i번 구슬이 붉은색이면 R, 푸른색이면 B이다. 답이 여러 가지라면 아무것이나 출력해도 된다.