작가 클럽

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

문제

작가 클럽(The Writers' Club)은 작가와 단편 소설 애호가가 모여 이야기를 발표하고, 읽고, 토론하는 온라인 커뮤니티입니다. 다른 커뮤니티 사이트와 마찬가지로, 각 독자는 자신이 좋아하는 작가 목록을 만들 수 있습니다.

운영진은 한 가지 경향을 발견했습니다. 독자는 자신이 좋아하는 작가가 좋아하는 작가를 함께 좋아하는 경향이 있다는 것입니다. 예를 들어 John이 작가 Alice를 좋아한다면(John이 Alice의 글을 읽고 좋아한다면), John을 좋아하는 많은 독자들도 Alice를 좋아하게 되고, 이어서 Alice가 좋아하는 작가들, 그리고 그 작가들이 좋아하는 작가들까지 좋아하는 경향이 있습니다.

사이트는 이 관찰을 바탕으로 추천 서비스를 시작하려고 합니다. 위 예시를 이어가면, John을 좋아하는 모든 독자에게 Alice와 더불어 Alice가 좋아하는 작가들, 또 그들이 좋아하는 작가들을 차례로 추천합니다. 한 사용자는 작가(자신을 좋아하는 독자가 있는 사람)이면서 동시에 독자(좋아하는 작가가 있는 사람)일 수 있습니다. 추천 서비스는 추천을 받는 독자가 이미 좋아하는 작가는 절대 추천하지 않으며, 어떤 작가를 그 작가 자신에게 추천하지도 않습니다.

입력

입력은 하나 이상의 테스트 케이스로 이루어집니다. 각 테스트 케이스의 첫 줄에는 두 양의 정수 $T$와 $N$이 주어집니다. $T$는 전체 사용자 수($T \le 100{,}000$), $N$은 작가 수($N \le 100$)입니다.

이어서 작가마다 한 줄씩, 총 $N$개의 줄이 주어집니다. 각 줄에는 이름이 하나 이상 있으며, 첫 번째 이름은 작가의 이름이고 나머지는 그 작가를 좋아하는 독자(팬)들의 이름입니다.

writer admirer1 admirer2 ... admirerd

이름은 1자 이상 16자 이하의 소문자 알파벳 문자열이며, 한 테스트 케이스 안에서 모든 이름은 서로 다릅니다. 이름들은 하나 이상의 공백으로 구분됩니다.

입력의 마지막 줄은 두 개의 0, 즉 0 0으로 끝납니다.

출력

각 테스트 케이스마다 먼저 다음과 같은 머리글 줄을 출력합니다.

--- CASE k

여기서 k는 1부터 시작하는 테스트 케이스 번호입니다(머리글은 빼기 기호 세 개, 공백, 단어 CASE, 공백, 그리고 k로 이루어집니다).

머리글 다음에는 추천되는 작가마다 한 줄씩, 0개 이상의 줄을 다음 형식으로 출력합니다.

writer reader1 reader2 ...

여기서 writer는 추천되는 작가이고, reader1 reader2 ...는 그 작가를 추천받는 독자들입니다. 줄은 작가 이름을 기준으로 알파벳 순으로 정렬하고, 각 줄 안의 독자들도 알파벳 순으로 정렬합니다. 어떤 작가도 자기 자신에게 추천되지 않으며, 이미 그 작가를 좋아하는 독자에게도 추천되지 않습니다. 한 줄 안의 모든 이름은 공백 하나로 구분합니다.