AT_xmascon19_j Sub-Post Correspondence Problem

Description

[problemUrl]: https://atcoder.jp/contests/xmascon19/tasks/xmascon19_j $ N $ 種類のカードが,それぞれ $ 2019^{2019} $ 枚ずつある. $ i $ 種類目のカードには,上側に文字列 $ A_i $ が,下側に文字列 $ B_i $ が書かれている. これらのカードから $ 1 $ 枚以上を選び,好きな順で一列に並べることを考える.このとき,並べられた各カードの上側に書かれている文字列を繋げたものを $ s $,下側に書かれている文字列を繋げたものを $ t $ とする. 次の条件を満たすようにカードを選んで並べることはできるだろうか? - 条件: $ s $ から **$ 0 $ 文字以上の好きな箇所の文字を選んで消すことで** $ t $ に一致させることができる.

Input Format

> $ N $ $ A_1 $ $ B_1 $ $ A_2 $ $ B_2 $ $ \vdots $ $ A_N $ $ B_N $

Output Format

条件を満たすようにカードを選んで並べることが可能なら `YES`,そうでなければ `NO` と出力せよ.

Explanation/Hint

### 制約 - $ 1\ \leq\ N\ \leq\ 16 $. - $ 1\ \leq\ |A_i|,\ |B_i|\ \leq\ 10^5 $. - $ A_i $, $ B_i $ は英小文字のみからなる文字列である. ### Sample Explanation 1 たとえば,$ 2 $ 種類目,$ 2 $ 種類目,$ 1 $ 種類目の順にカードを並べると,$ s\ = $`acbaacbacab`, $ t\ = $`ababac` となり,これは条件を満たす.