AT_abc302_c [ABC302C] Almost Equal
Description
[problemUrl]: https://atcoder.jp/contests/abc302/tasks/abc302_c
英小文字からなる長さ $ M $ の文字列 $ N $ 個 $ S_1,S_2,\dots,S_N $ が与えられます。ここで、$ S_i $ は互いに異なります。
これらを並び替えた文字列の列 $ T_1,T_2,\dots,T_N $ であって、以下の条件を満たすものが存在するか判定してください。
- $ 1\ \le\ i\ \le\ N-1 $ を満たす全ての整数 $ i $ に対して、$ T_i $ を $ 1 $ 文字だけ別の英小文字に変えて $ T_{i+1} $ にすることが出来る。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $ $ S_1 $ $ S_2 $ $ \vdots $ $ S_N $
Output Format
問題文の条件を満たす列が存在するならば `Yes` を、そうでないならば `No` を出力せよ。
Explanation/Hint
### 制約
- $ 2\ \le\ N\ \le\ 8 $
- $ 1\ \le\ M\ \le\ 5 $
- $ S_i $ は英小文字からなる長さ $ M $ の文字列である。$ (1\ \le\ i\ \le\ N) $
- $ S_i $ は互いに異なる。
### Sample Explanation 1
`abcd` , `abed` , `bbed` , `fbed` の順に並び替えると条件を満たします。
### Sample Explanation 2
どのように並び替えても条件を満たすことは出来ません。