시간 제한메모리 제한제출정답맞힌 사람정답 비율
8 초 (추가 시간 없음) 256 MB39202080.000%

문제

We found a dictionary of the Ancient Civilization Mayo (ACM) during excavation of the ruins. After analysis of the dictionary, we revealed they used a language that had not more than 26 letters. So one of us mapped each letter to a different English alphabet and typed all the words in the dictionary into a computer.

How the words are ordered in the dictionary, especially whether they are ordered lexicographically, is an interesting topic to many people. As a good programmer, you are requested to write a program to judge whether we can consider the words to be sorted in a lexicographical order.

Note: In a lexicographical order, a word always precedes other words it is a prefix of. For example, ab precedes abc, abde, and so on.

입력

The input consists of multiple datasets. Each dataset is formatted as follows:

n
string1
...
stringn

Each dataset consists of n+1 lines. The first line of each dataset contains an integer that indicates n (1 ≤ n ≤ 500). The i-th line of the following n lines contains stringi, which consists of up to 10 English lowercase letters.

The end of the input is 0, and this should not be processed.

출력

Print either yes or no in a line for each dataset, in the order of the input. If all words in the dataset can be considered to be ordered lexicographically, print yes. Otherwise, print no.

예제 입력 1

4
cba
cab
b
a
3
bca
ab
a
5
abc
acb
b
c
c
5
abc
acb
c
b
b
0

예제 출력 1

yes
no
yes
no