Time Limit: 2 sec / Memory Limit: 1024 MB
配点 : 400 点
問題文
長さ N のマス目があり、最初はすべてのマスが白く塗られています。各マスは左から順に 1, 2, \ldots, N の番号が付けられています。
このマス目内の連続する 3 マスに対し、左から順に赤色・緑色・青色に上塗りするスタンプを次々と押して行きます。より正確に言えば、整数 i ( = 1, 2, \ldots, N-2) を一つ選んで、マス i を赤色に、マス i+1 を緑色に、マス i+2 を青色に塗る操作を行います。このときすでにスタンプが押されているマスの上にもスタンプを押すことができて、スタンプを押された各マスの色は新たなスタンプの色に上塗りされます。青木さんは白色マスがなくなるまでこの操作を行いました。白色マスがなくなっても操作を続けることができて、好きなタイミングで操作を終了することができます。
操作終了時に好みの色合いを実現することができるかどうかを判定するプログラムを書いてください。好みの色合いは長さ N の文字列 S で表され、i = 1, 2, \ldots, N に対して、S_i = 'R' のとき i マス目を赤色にしたいことを表し、S_i = 'G' のとき i マス目を緑色にしたいことを表し、S_i = 'B' のとき i マス目を青色にしたいことを表します。
制約
- 3 \le N \le 10^5
- |S| = N
- S は 'R', 'G', 'B' からなる文字列です。
入力
入力は以下の形式で標準入力から与えられます。
N S
出力
文字列 S で表される色合いが実現できるならば "Yes" を、実現不可能ならば "No" を一行に出力してください。
入力例 1
4 RGBB
出力例 1
Yes
まず後ろ 3 マスにスタンプを押し、次に前 3 マスにスタンプを押すことで、"RGBB" となります。
入力例 2
6 RRGGBB
出力例 2
No
入力例 3
10 RGBBBGRRGB
出力例 3
Yes