Games R Us

시간 제한1초메모리 제한128 MB

문제

GamesAreUs.com은 올해의 외부 감사를 막 마쳤습니다. 지적된 항목 중 하나는 회사 공용 파일 서버의 파일 권한을 부여하는 업무 규칙이 전혀 없다는 점이었습니다. 분석가들은 모든 직원을 위한 역할과 각 역할에 부여할 권한을 정리하는 작업을 하고 있습니다. 여러분의 팀은 현재 상황을 살펴보고 분석가들에게 참고 자료를 제공해야 합니다.

다행히 권한 부여가 완전히 무작위로 이루어지지는 않았습니다. 새 직원을 설정하는 가장 흔한 방법은 "Joe와 똑같이" 권한을 달라고 요청하는 것으로, 사실상 임시 프로토타입 방식이 자리 잡았습니다.

여러분에게는 공용 파일 서버 최상위 디렉터리들의 접근 제어 목록(ACL)이 주어집니다. 이 정보를 이용해 사용자들을, 같은 등급에 속한 모든 사용자가 정확히 동일한 디렉터리 집합에 접근할 수 있도록 동치 등급으로 나누는 프로그램을 작성하세요.

GamesAreUs.com에는 여러 부서가 있으므로 처리해야 할 ACL 묶음도 여러 개입니다. 즉, 부서마다 하나씩의 ACL 묶음이 주어집니다.

입력

첫 줄에는 부서의 수를 나타내는 정수 $n$ ($0 < n < 100$)이 앞뒤 공백 없이 한 줄에 단독으로 주어집니다. 그 뒤로 각 부서의 데이터가 이어집니다.

한 부서의 ACL들은 오직 -1만 있는 줄로 끝나는 ACL 줄의 나열입니다. 각 ACL은 하나의 공백으로 구분된 부호 없는 정수들($1 \le x \le 2147483647$)로 이루어진 한 줄입니다. 줄의 첫 번째 정수는 디렉터리의 파일 번호(FID)이고, 나머지 정수들은 그 디렉터리에 접근 권한이 있는 사용자 번호(UID)입니다. 모든 줄에는 FID 하나와 최소 하나의 UID가 있습니다. 한 줄 안에 중복된 UID는 없지만, UID와 FID는 서로 다른 이름 공간에 있으므로 어떤 UID가 어떤 FID와 정수 값이 같을 수 있습니다. ACL들의 순서, 그리고 한 ACL 안의 UID들의 순서에는 특별한 규칙이 없습니다. 한 부서의 모든 ACL을 통틀어 같은 FID는 한 번만 나타납니다. 최상위 디렉터리 ACL은 최대 50개, UID는 최대 100개입니다. 모든 FID와 UID는 양의 정수입니다.

출력

각 부서에 대해 먼저 처리 중인 경우 번호를 알리는 줄을 출력합니다. 번호는 1부터 시작하며, 이 줄에는 단어 Case, 공백 하나, 그리고 해당 경우의 번호가 들어갑니다.

그다음, 구성원이 2명 이상인 각 등급에 대해 한 줄씩 출력합니다. 그 줄에는 등급의 구성원 수(부호나 앞자리 0 없이)와 공백 하나, 그리고 그 등급에서 가장 작은 UID(부호, 앞자리 0, 뒤따르는 공백 없이)를 씁니다. 출력은 구성원 수를 기준으로 내림차순으로 정렬하고, 구성원 수가 같으면 UID를 기준으로 오름차순으로 정렬합니다. 그런 등급이 하나도 없으면 no prototypes found를 출력합니다.