AT_cpsco2019_s3_d Decode RGB Sequence
Description
[problemUrl]: https://atcoder.jp/contests/cpsco2019-s3/tasks/cpsco2019_s3_d
長さ $ 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 $ マス目を青色にしたいことを表します。
Input Format
入力は以下の形式で標準入力から与えられます。
> $ N $ $ S $
Output Format
文字列 $ S $ で表される色合いが実現できるならば "Yes" を、実現不可能ならば "No" を一行に出力してください。
Explanation/Hint
### 制約
- $ 3\ \le\ N\ \le\ 10^5 $
- $ |S|\ =\ N $
- $ S $ は 'R', 'G', 'B' からなる文字列です。
### Sample Explanation 1
まず後ろ $ 3 $ マスにスタンプを押し、次に前 $ 3 $ マスにスタンプを押すことで、"RGBB" となります。