In Albanian, any expression is a sequence of words (it is not necessary for the words to be different), which are separated by delimiters - spaces, punctuation marks and so on. Notorious Albanian liberal Mohammed Tahir-ogly was absolutely sure that those delimiters bound the freedom of speech. He decided to carry out a language reform and get rid of the delimiters. After the reform is effected, any Albanian expression will be a sequence of unseparated words.
Famous Albanian conservative Ahmed Kasym-bey raised his voice against the reform. He pointed out, that after it some expressions with the same spelling, but formed by different sequences of words - and therefore with different meanings - may appear in Albanian. This ambiguity undoubtedly restrains the freedom of speech. Now Ahmed craves for finding at least one such expression to ruin the intentions of his political foe. He opened an Albanian dictionary, found exactly N different words S[i] in it and realized, that he could not manage this task alone.
Input
The first line contains the integer number N (1 ≤ N ≤ 100). Each of the next N lines contains a word S[i]. Each word consists of from 1 to 100 small latin letters.
Output
You should output "NO", if the desired expression does not exist. Otherwise the first line should contain "YES", and the second line should contain this expression. The expression should not be more than 20000 characters long. If the problem has several solutions, you may output any of them.
Sample
input | output |
---|
5
ab
acb
bc
abac
babbc
| YES
abacbabbc
|
Notes
In the sample, the expression "abacbabbc" may be formed by the sequences of words "abac"+"babbc" and "ab"+"acb"+"ab"+"bc".
Problem Author: Nikita Rybak, Ilya Grebnov, Dmitry Kovalioff
Problem Source: Timus Top Coders: Second Challenge