#4195. 扩展ABC(ExtendedABc)

扩展ABC(ExtendedABc)

题目描述

我们定义扩展A字符串、扩展B字符串、扩展C字符串和扩展ABC字符串如下:

  • 如果字符串 SS 中的所有字符都是 A,则 SS 是扩展A字符串。
  • 如果字符串 SS 中的所有字符都是 B,则 SS 是扩展B字符串。
  • 如果字符串 SS 中的所有字符都是 C,则 SS 是扩展C字符串。
  • 如果存在扩展A字符串 SAS_A、扩展B字符串 SBS_B 和扩展C字符串 SCS_C,使得按此顺序连接 SAS_ASBS_BSCS_C 得到的字符串等于 SS,则 SS 是扩展ABC字符串。

例如,ABCAAAABBBCCCCCCC 是扩展ABC字符串,但 ABBAAACBBBCCCCCCCAAA 不是。注意,空字符串是扩展A字符串、扩展B字符串和扩展C字符串。

给你一个由 ABC 组成的字符串 SS。如果 SS 是扩展ABC字符串,请输出 Yes;否则,输出 No

输入格式

输入SS

输出格式

如果 SS 是扩展ABC字符串,输出 Yes;否则,输出 No

样例

AAABBBCCCCCCC
Yes
ACABABCBC
No
A
Yes
ABBBBBBBBBBBBBCCCCCC
Yes

样例解释

【样例1说明】
AAABBBCCCCCCC 是扩展ABC字符串,因为它是由长度为 33 的扩展A字符串 AAA、长度为 33 的扩展B字符串 BBB 和长度为 77 的扩展C字符串 CCCCCCC 按顺序连接而成的。
因此,输出 Yes
【样例2说明】
不存在扩展A字符串 SAS_A、扩展B字符串 SBS_B 和扩展C字符串 SCS_C,使得按此顺序连接 SAS_ASBS_BSCS_C 得到的字符串等于 ACABABCBC
因此,输出 No

数据范围

SS 是由 ABC 组成的字符串。1S1001 \leq |S| \leq 100S|S| 是字符串 SS 的长度。)

来源

  • AtCoder ABC337B