남규가 성격 진단 테스트를 받게 되었다. 이 테스트는 여러 개의 질문으로 이루어져 있고, 각 질문에는 5개의 활동이 선택지로 주어진다. 응시자는 각 질문마다 5개의 활동 중 가장 선호하는 것 하나를 반드시 골라야 한다.
당신은 오후 여가 시간에 무엇을 하시겠습니까?
(a) League of Legends
(b) The Binding of Isaac
(c) 옆에서 코딩하는 재혁이 괴롭히기
(d) 내일 시험이 있지만 시험공부 하지 않기
(e) 잠자기
각 질문의 5개 활동은 커다란 활동 집합에서 무작위로 뽑힌 것이라, 예를 들어 "잠자기"라는 활동이 여러 질문에 걸쳐 다시 등장할 수 있다.
어떤 질문에서 남규가 고른 활동은 같은 질문에 있던 나머지 네 활동보다 더 선호된다는 뜻이다. 즉 남규가 A, B, C, D, E 중 A를 골랐다면 A는 B, C, D, E 각각보다 더 선호된다. 선호 관계는 추이적(transitive)이다. 어떤 질문에서 X가 Y보다 선호되고 다른 질문에서 Y가 Z보다 선호되면, X가 Z보다 선호된다는 사실도 도출된다.
남규는 테스트를 대충 응답해서 모순이 생겼다. 두 활동 X, Y에 대해 "X가 Y보다 선호된다"와 "Y가 X보다 선호된다"가 동시에 도출되면, X와 Y 사이에 모순이 있다고 한다.
주어진 응답 데이터로부터, 테스트에 등장한 모든 활동을 여러 그룹으로 분할하라. 두 활동은 서로 모순이 있을 때, 그리고 오직 그럴 때에만 같은 그룹에 속한다. (서로 모순이 있는 활동끼리 최대한 묶는 분할이며, 답은 유일하다.)
입력은 여러 개의 테스트 케이스로 이루어지며, 마지막에는 0만 있는 줄이 주어진다.
각 테스트 케이스의 첫 줄에는 질문의 개수 $N$이 주어진다. 이어지는 $N$개의 줄에는 각 질문의 정보가 주어진다. 각 줄에는 서로 다른 5개의 활동 이름이 먼저 나오고, 그 뒤에 남규가 그 질문에서 고른 활동 이름이 하나 주어진다. 고른 활동은 항상 그 줄의 5개 활동 중 하나이다. 모든 활동 이름은 알파벳 대문자 한 글자이다.
각 테스트 케이스에 대해 분할 결과를 출력한다. 한 그룹을 한 줄에 출력하며, 그룹 안의 활동은 알파벳순으로 공백 하나로 구분해 출력한다. 그룹들은 각 그룹에서 알파벳순으로 가장 앞서는 활동을 기준으로 알파벳순으로 정렬해 출력한다. 테스트에 등장한 활동만 출력한다.
서로 다른 테스트 케이스의 출력 사이에는 빈 줄을 하나 출력한다.