#arc141f. [arc141_f]Well-defined Abbreviation

[arc141_f]Well-defined Abbreviation

Problem Statement

You are given NN srings Si(1leileN)S_i\\ (1\\le i \\le N) consisting of A, B, C, D.

Consider the operation below on a string TT consisting of A, B, C, D.

  • Repeat the following until TT contains none of the strings SiS_i as a substring.
    • Choose an SiS_i and one of its occurrences in TT, remove that occurrence from TT, 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 TT is bad when multiple strings can result from the operation above.

Determine whether a bad string exists.

Constraints

  • 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
  • SineqSjS_i \\neq S_j if ineqji\\neq j.
  • SiS_i is a string consisting of A, B, C, D.

Input

Input is given from Standard Input in the following format:

NN S1S_1 S2S_2 vdots\\vdots SNS_N

Output

If a bad string exists, print Yes.

Otherwise, print No.


Sample Input 1

3
A
B
C

Sample Output 1

No

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


Sample Input 2

1
ABA

Sample Output 2

Yes

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


Sample Input 3

4
CBA
ACB
AD
CAB

Sample Output 3

Yes