만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

VEZUV

시간 제한1.5초메모리 제한1024 MB

요약
각 팀 이름이 전체 팀 가운데 사전순으로 가장 작아지도록 알파벳 순열을 찾고, 그런 순열이 없으면 nemoguce를 출력합니다.
난이도

어려움10점 중 8점

유형
트라이, 그래프, 위상 정렬, 문자열
정답자
아직 제출이 없습니다

문제

어느 지역 ICPC 대회의 운영진은 대회를 치를 적절한 여건을 마련하지 못한 탓에 팀 순위를 사전순으로 매기기로 했다. 따라서 이름이 사전순으로 가장 앞서는 팀이 우승팀이 된다.

이 문제의 주인공 에트나는 정체를 밝히지 않을 한 팀의 팀장이다. 그 팀의 이름이 'Z'로 시작한다고만 해도 충분한데, 이 때문에 상황이 꽤 불리하다. 운영진과 오랜 논의 끝에 에트나는 팀 순위를 조금 더 공정하게 매기는 방식을 얻어냈다. 안타깝게도 팀 순위는 여전히 사전순으로 매기지만, 사전순의 정의가 바뀐다. 더 정확히는 운영진이 영어 알파벳 문자를 무작위로 하나의 순열로 정하고, 사전순은 그 순열로 자연스럽게 정의된다. 즉 순열에서 문자의 순서가 사전순에서의 순서가 된다.

에트나는 곧바로 노트북을 꺼내 각 팀마다 그 팀이 우승하게 되는 문자 순열을 하나씩 찾아 주는 프로그램을 작성했다. 안타깝게도 이 프로그램은 오늘날까지도 실행이 끝나지 않는다. 같은 기능을 하는 더 효율적인 프로그램을 작성해 에트나를 도와주자.

입력

첫째 줄에 대회에 참가하는 팀의 수 N이 주어진다.

다음 N개 줄에 참가 팀의 이름이 주어진다. 각 팀의 이름은 영어 소문자로 이루어진 한 단어다. 물론 팀 이름은 서로 다르다.

출력

입력에 주어진 순서대로 각 팀에 대해, 그 팀이 우승하게 되는 영어 알파벳의 순열을 한 줄에 하나씩 출력한다. 그러한 순열이 없으면 "nemoguce"를 출력하고, 그러한 순열이 여러 개면 그중 아무거나 하나를 출력하면 된다.

예제3

  1. 예제 1

    입력
    3
    war
    zag
    wro
    
    예상 출력
    agorwzbcdefhijklmnpqstuvxy
    agorzwbcdefhijklmnpqstuvxy
    gorawzbcdefhijklmnpqstuvxy
    
  2. 예제 2

    입력
    3
    b
    ab
    aa
    
    예상 출력
    bacdefghijklmnopqrstuvwxyz
    nemoguce
    abcdefghijklmnopqrstuvwxyz
    
  3. 예제 3

    입력
    7
    bcada
    dbaab
    bbabc
    ababb
    aacdf
    bcdff
    baddb
    
    예상 출력
    cbadfeghijklmnopqrstuvwxyz
    cdabfeghijklmnopqrstuvwxyz
    bacdfeghijklmnopqrstuvwxyz
    nemoguce
    abcdfeghijklmnopqrstuvwxyz
    cbdafeghijklmnopqrstuvwxyz
    nemoguce