모두 정렬하기

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

문제

서로 다른 값들의 오름차순 정렬 수열이란, 어떤 형태의 '작다' 연산자를 사용해 원소들을 가장 작은 것부터 가장 큰 것까지 나열한 것을 말합니다. 예를 들어 정렬된 수열 A, B, C, DA < B, B < C, C < D를 의미합니다. 이 문제에서는 A < B 형태의 관계들이 주어지며, 이 관계들만으로 정렬 순서가 유일하게 결정되는지 판별해야 합니다.

입력

입력은 여러 개의 인스턴스로 이루어집니다. 각 인스턴스는 두 양의 정수 nm이 담긴 줄로 시작합니다. n은 정렬할 대상의 개수이며 2n262 \le n \le 26입니다. 정렬 대상은 대문자 알파벳의 앞에서부터 n개의 문자입니다. m은 이 인스턴스에서 주어지는 A < B 형태의 관계 개수입니다. 이어서 m개의 줄이 주어지며, 각 줄은 세 문자, 즉 대문자 한 개, 문자 <, 그리고 또 다른 대문자 한 개로 이루어진 관계 하나를 담습니다. 등장하는 문자는 앞 n개의 알파벳 범위를 벗어나지 않습니다. n = m = 0인 줄은 입력의 끝을 의미합니다.

출력

각 인스턴스마다 한 줄을 출력합니다. 이 줄은 다음 세 가지 중 하나여야 합니다.

Sorted sequence determined after xxx relations: yyy...y.
Sorted sequence cannot be determined.
Inconsistency found after xxx relations.

여기서 xxx는 정렬 순서가 유일하게 결정되거나 모순이 발견되는 시점(둘 중 먼저 일어나는 쪽)까지 처리한 관계의 개수이고, yyy...y는 오름차순으로 정렬된 수열입니다. 관계는 한 번에 하나씩 순서대로 처리하며, 순서가 유일하게 결정되거나 모순이 발견되는 즉시 그 시점까지 처리한 관계 개수를 사용해 결과를 출력합니다. 모든 관계를 처리한 뒤에도 순서가 유일하게 결정되지 않고 모순도 없으면 순서를 결정할 수 없다고 출력합니다.