P25176 [AtCoder] Well
NOI
题目描述

Problem Statement

You are given N srings S_i\ $(1\le i \le N)$ consisting of A, B, C, D.
Consider the operation below on a string T consisting of A, B, C, D.

  • Repeat the following until T contains none of the strings S_i as a substring.
  • Choose an S_i and one of its occurrences in T, remove that occurrence from T, and concatenate the remaining parts.

What is a substring?
A substring of a string is its contiguous subsequence. For example, A, AB, and BC are substrings of ABC, while BA and AC are not.

We say that the string T is bad when multiple strings can result from the operation above.
Determine whether a bad string exists.

Input

Input is given from Standard Input in the following format:
N
S_1
S_2
$\vdots$
S_N

Output

If a bad string exists, print Yes.
Otherwise, print No.

Constraints

  • $1 \leq N \leq 10^6$
  • $1 \leq |S_i| \leq 2 \times 10^6$
  • $|S_1|+|S_2|+\dots +|S_N| \leq 2 \times 10^6$
  • $S_i \neq S_j$ if $i\neq j$.
  • S_i is a string consisting of A, B, C, D.

Sample Input 1

3
A
B
C

Sample Output 1

No

The only string we can get from T is what remains after removing all occurrences of A, B, C from T.

Sample Input 2

1
ABA

Sample Output 2

Yes

For example, from T= ABABA, we can get two strings: AB and BA, so T is a bad string.

Sample Input 3

4
CBA
ACB
AD
CAB

Sample Output 3

Yes

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
3 A B C
样例输出
No