AT_abc337_b [ABC337B] Extended ABC
Description
[problemUrl]: https://atcoder.jp/contests/abc337/tasks/abc337_b
拡張 A 文字列、拡張 B 文字列、拡張 C 文字列および拡張 ABC 文字列を以下のように定義します。
- 文字列 $ S $ が拡張 A 文字列であるとは、$ S $ のすべての文字が `A` であることをいいます。
- 文字列 $ S $ が拡張 B 文字列であるとは、$ S $ のすべての文字が `B` であることをいいます。
- 文字列 $ S $ が拡張 C 文字列であるとは、$ S $ のすべての文字が `C` であることをいいます。
- 文字列 $ S $ が拡張 ABC 文字列であるとは、ある拡張 A 文字列 $ S\ _\ A $ 、拡張 B 文字列 $ S\ _\ B $ 、拡張 C 文字列 $ S\ _\ C $ が存在して、$ S\ _\ A,S\ _\ B,S\ _\ C $ をこの順に連結した文字列が $ S $ と等しいことをいいます。
例えば、`ABC` や `A` 、`AAABBBCCCCCCC` などは拡張 ABC 文字列ですが、`ABBAAAC` 、`BBBCCCCCCCAAA` などは拡張 ABC 文字列ではありません。 空文字列は拡張 A 文字列でも拡張 B 文字列でも拡張 C 文字列でもあることに注意してください。
`A`, `B`, `C` からなる文字列 $ S $ が与えられます。 $ S $ が拡張 ABC 文字列ならば `Yes` を、そうでなければ `No` を出力してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ S $
Output Format
$ S $ が拡張 ABC 文字列ならば `Yes` を、そうでなければ `No` を出力せよ。
Explanation/Hint
### 制約
- $ S $ は `A`, `B`, `C` からなる文字列
- $ 1\leq|S|\leq\ 100\ (|S| $ は文字列 $ S $ の長さ$ ) $
### Sample Explanation 1
`AAABBBCCCCCCC` は長さ $ 3 $ の拡張 A 文字列 `AAA` 、長さ $ 3 $ の拡張 B 文字列 `BBB` 、長さ $ 7 $ の拡張 C 文字列 `CCCCCCC` をこの順に連結した文字列なので、拡張 ABC 文字列です。 よって、`Yes` を出力してください。
### Sample Explanation 2
どのような拡張 A 文字列 $ S\ _\ A, $ 拡張 B 文字列 $ S\ _\ B, $ 拡張 C 文字列 $ S\ _\ C $ についても、$ S\ _\ A,S\ _\ B,S\ _\ C $ をこの順に連結した文字列が `ACABABCBC` と等しくなることはありません。 よって、`No` を出力してください。