#arc141f. [arc141_f]Well-defined Abbreviation

[arc141_f]Well-defined Abbreviation

题目描述

给定 NN 个字符串 Si(1leileN)S_i\\ (1\\le i \\le N),它们由字符 ABCD 组成。

考虑对一个由字符 ABCD 组成的字符串 TT 执行以下操作:

  • 重复以下步骤,直到 TT 中不再包含任何 SiS_i 作为子串为止。
    • 选择一个 SiS_iTT 中的一个该子串,将该子串从 TT 中移除,并将剩下的部分连接在一起。

什么是子串?字符串的子串是其连续的子序列。例如,AABBCABC 的子串,而 BAAC 不是。

当上述操作可能导致多个字符串时,我们称字符串 TT 是“坏”的。

判断是否存在一个坏的字符串。

约束条件

  • 1leqNleq1061 \\leq N \\leq 10^6
  • 1leqSileq2times1061 \\leq |S_i| \\leq 2 \\times 10^6
  • S1+S2+dots+SNleq2times106|S_1|+|S_2|+\\dots +|S_N| \\leq 2 \\times 10^6
  • 如果 ineqji\\neq j,则 SineqSjS_i \\neq S_j
  • SiS_i 是由字符 ABCD 组成的字符串。

输入

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

NN S1S_1 S2S_2 \vdots SNS_N

输出

如果存在一个坏的字符串,输出 Yes

否则,输出 No


示例输入 1

3
A
B
C

示例输出 1

No

TT 中移除所有 ABC 的所有出现后,我们只能得到一个字符串。


示例输入 2

1
ABA

示例输出 2

Yes

例如,对于 T=T= ABABA,我们可以得到两个字符串:ABBA,因此 TT 是一个坏的字符串。


示例输入 3

4
CBA
ACB
AD
CAB

示例输出 3

Yes