#ATarc141f. [ARC141F] Well-defined Abbreviation

[ARC141F] Well-defined Abbreviation

题目描述

给定 NN 个仅由 ABCD 组成的字符串 Si (1iN)S_i\ (1\leq i\leq N)

对于仅由 ABCD 组成的字符串 TT,定义如下操作:

  • 重复以下操作,直到没有任何 SiS_iTT 的子串为止:
    • 任选一个 SiS_i,以及 TT 中包含 SiS_i 的一个位置,将该位置的 SiS_iTT 中删除,并将前后部分连接起来。

子串的定义:子串是指字符串中连续的一段。例如,AABBC 都是 ABC 的子串,但 BAAC 不是 ABC 的子串。

如果存在某个 TT,使得经过上述操作后可以得到多个不同的结果字符串,则称 TT 为“坏字符串”。

请判断是否存在“坏字符串”。

输入格式

输入通过标准输入给出,格式如下:

NN S1S_1 S2S_2 \vdots SNS_N

输出格式

如果存在“坏字符串”,输出 Yes

如果不存在,输出 No

样例 1

输入

3
A
B
C

输出

No

样例 2

输入

1
ABA

输出

Yes

样例 3

输入

4
CBA
ACB
AD
CAB

输出

Yes

说明/提示

限制条件

  • 1N1061\leq N\leq 10^6
  • 1Si2×1061\leq |S_i|\leq 2\times 10^6
  • S1+S2++SN2×106|S_1|+|S_2|+\dots+|S_N|\leq 2\times 10^6
  • iji\neq j,则 SiSjS_i\neq S_j
  • SiS_i 仅由 ABCD 组成

样例解释 1

对于 TT,操作后的结果字符串只有将 ABC 全部删除后的字符串。

样例解释 2

例如,当 T=T=ABABA 时,经过操作后可以得到 ABBA 两种不同的结果,因此 TT 是“坏字符串”。

由 ChatGPT 4.1 翻译