해결한 사람
0
명
정답률
0.00
%
시간 제한
1000
ms
메모리 제한
245
MB
n개의 문자열이 주어진다. 각 문자열은 영문 소문자로 이루어져 있다. 모든 문자열에 대해 그 문자열보다 앞에 배치된 모든 문자열이 그 문자열의 부분 문자열이 되도록 주어진 문자열들을 재배열한다.
문자열 b에서 연속한 여러 글자를 골라 문자열 a를 만들 수 있으면 문자열 a는 문자열 b의 부분 문자열이다. 예를 들어 문자열 "for"는 문자열 "codeforces", "for", "therefore"에 부분 문자열로 포함되지만, 문자열 "four", "fofo", "rof"에는 부분 문자열로 포함되지 않는다.
첫 번째 줄에 문자열의 개수를 나타내는 정수 n가 주어진다 (1 ≤ n ≤ 100).
다음 n개의 줄에 주어진 문자열들이 주어진다. 각 문자열의 글자 수는 1 이상 100 이하이다. 각 문자열은 영문 소문자로 이루어져 있다.
일부 문자열은 서로 같을 수도 있다.
주어진 n개의 문자열을 요구되는 순서로 재배열할 수 없다면 "NO"를 따옴표 없이 출력한다.
그렇지 않다면 "YES"를 따옴표 없이 출력하고, 주어진 n개의 문자열을 요구되는 순서로 출력한다.
3
qwerty
qwerty
qwerty
YES
qwerty
qwerty
qwerty
5
a
aba
abacaba
ba
aba
YES
a
ba
aba
aba
abacaba
5
a
abacaba
ba
aba
abab
NO
두 번째 예제에서는 문자열 "abab"가 문자열 "abacaba"의 부분 문자열이 아니므로 문자열들을 재배열할 수 없다.