#abc302c. [abc302_c]Almost Equal

[abc302_c]Almost Equal

问题描述

给定 NN 个字符串 S1,S2,,SNS_1,S_2,\dots,S_N,每个字符串的长度为 MM,由小写英文字母组成。这里,SiS_i 两两不相同。

判断是否可以重新排列这些字符串,得到一个新的字符串序列 T1,T2,,TNT_1,T_2,\dots,T_N,满足以下条件:

  • 对于所有整数 ii,使得 1iN11 \le i \le N-1,可以将 TiT_i 中的一个字符改变为另一个小写英文字母,使其与 Ti+1T_{i+1} 相等。

约束条件

  • 2N82 \le N \le 8
  • 1M51 \le M \le 5
  • SiS_i 是长度为 MM 的由小写英文字母组成的字符串。(1iN)(1 \le i \le N)
  • SiS_i 两两不相同。

输入

输入以以下格式从标准输入中给出:

NN MM S1S_1 S2S_2 \vdots SNS_N

输出

如果可以得到满足条件的序列,则输出 Yes;否则输出 No


示例输入 1

4 4
bbed
abcd
abed
fbed

示例输出 1

Yes

可以按照以下顺序重新排列它们:abcdabedbbedfbed。这个序列满足条件。


示例输入 2

2 5
abcde
abced

示例输出 2

No

无论如何重新排列这些字符串,都无法满足条件。


示例输入 3

8 4
fast
face
cast
race
fact
rice
nice
case

示例输出 3

Yes