Substrings Sort (※)
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
给您 个字符串。每个字符串都由小写英文字母组成。将给定的字符串重新排列(重新排序),使每个字符串前面的所有字符串都是它的子串。
如果可以在字符串 中选择几个连续的字母组成 ,则字符串 是字符串 的子串。例如,字符串 "for "作为子串包含在字符串 "codeforces"、"for "和 "soefore "中,但作为子串不包含在字符串 "four"、"fofo "和 "rof "中。
输入描述
第一行包含一个整数 ()--字符串的数量。
接下来的 行包含给定的字符串。每个字符串的字母数从到,包括首尾两个字母。每个字符串由小写英文字母组成。
有些字符串可能相等。
输出描述
如果无法按要求的顺序重新排列给定字符串 ,则打印 "NO"(不带引号)。
否则打印 "是"(不带引号)和按要求顺序排列的 个给定字符串。
样例 #1
样例输入 #1
5
a
aba
abacaba
ba
aba
样例输出 #1
YES
a
ba
aba
aba
abacaba
样例 #2
样例输入 #2
5
a
abacaba
ba
aba
abab
样例输出 #2
NO
样例 #3
样例输入 #3
3
qwerty
qwerty
qwerty
样例输出 #3
YES
qwerty
qwerty
qwerty
说明
在第二个示例中,由于字符串 "abab "不是字符串 "abacaba "的子串,因此不能对字符串重新排序。