고대 문명 사전

아직 제출이 없습니다시간 제한8초메모리 제한256 MB

문제

유적을 발굴하다가 고대 마요 문명(Ancient Civilization Mayo, ACM)의 사전을 찾았다. 사전을 분석한 결과 이 문명은 글자가 26개를 넘지 않는 언어를 썼다. 그래서 조사원 한 명이 각 글자를 서로 다른 영어 소문자 하나에 대응시켜 사전에 실린 단어를 모두 컴퓨터에 입력했다.

사전의 단어가 어떤 순서로 놓여 있는지, 특히 사전순으로 정렬되어 있는지는 많은 사람의 관심사다. 글자를 영어 소문자에 대응시킨 방식은 조사원이 임의로 정한 것이므로, 알파벳 26자의 순서도 새로 정할 수 있다. 알파벳 순서를 적절히 정하면 주어진 단어 목록을 그 순서 기준의 사전순 정렬로 볼 수 있는지 판정하는 프로그램을 작성하라.

사전순에서 어떤 단어는 그 단어를 접두사로 가지는 다른 단어보다 항상 앞에 온다. 예를 들어 ababc, abde보다 앞에 온다.

입력

입력은 여러 개의 데이터 집합으로 이루어진다. 각 데이터 집합의 형식은 다음과 같다.

n
string1
...
stringn

각 데이터 집합은 n+1n+1개의 줄로 이루어진다. 첫 줄에는 단어의 개수 nn (1n5001 \le n \le 500)이 주어진다. 이어지는 nn개의 줄 중 ii번째 줄에는 영어 소문자 10자 이하로 이루어진 문자열 stringistring_i가 주어진다.

입력의 끝에는 0이 한 줄로 주어지며, 이 줄은 처리하지 않는다.

출력

각 데이터 집합마다 입력 순서대로 한 줄에 yes 또는 no를 출력한다. 알파벳 순서를 적절히 정해서 그 데이터 집합의 단어 전체를 사전순 정렬로 볼 수 있으면 yes, 그렇지 않으면 no를 출력한다.