대회 채점 시스템 PC^2는 한 문제를 풀 때마다 1점을 주고, 동점은 걸린 시간으로 가르는 규칙에 맞춰 만들어졌다. 문제마다 배점이 다른 대회에서 이 시스템을 쓰려면, PC^2가 남긴 기록을 읽어 다른 규칙을 적용하는 프로그램이 필요하다.
여러 대회의 기록이 주어진다. 대회마다 문제별 배점과 팀별 제출 기록이 주어진다. 각 대회의 규칙에 맞춰 팀 순위를 매겨라.
입력은 여러 대회로 이루어진다. 각 대회의 첫 줄에 문제 수 P가 주어진다 (0<P≤20). P가 0인 줄이 나오면 입력이 끝난다.
둘째 줄에 문제마다 하나씩, 양의 정수 P개가 공백으로 구분되어 주어진다. 앞에서부터 차례로 첫 번째 문제, 두 번째 문제의 배점이다.
셋째 줄에 대회에 참가한 팀 수 T가 주어진다 (0<T≤50).
이어서 T개의 줄에 팀 하나의 기록이 한 줄씩 주어진다. 각 줄은 팀 이름으로 시작한다. 이름에 공백은 들어갈 수 있지만 쉼표는 들어가지 않으며, 쉼표가 나오면 이름이 끝난다. 그 뒤로 문제마다 기록 하나가 쉼표로 구분되어 이어진다. 기록의 순서는 둘째 줄의 배점 순서와 같아서 첫 번째 문제가 먼저 나온다.
각 기록은 정수 하나, 슬래시 문자 /, 그리고 또 다른 정수 하나 또는 - 문자로 이루어진다. 읽는 방법은 다음과 같다.
-이면 그 팀은 그 문제를 풀지 못했고, 그 문제에서 점수를 얻지 못한다.대회마다 Contest N 한 줄로 출력을 시작한다. N은 대회 번호이며, 입력의 첫 대회가 1이고 나온 순서대로 번호를 매긴다.
이어서 대회에 참가한 팀마다 한 줄씩 순위, 팀 이름, 얻은 점수를 공백 하나로 구분해 출력한다. 순위가 1부터 오름차순이 되도록 나열한다.
점수가 높은 팀이 앞에 온다. 점수가 같은 팀은 순위도 같고, 이름을 대소문자 구분 없이 사전순으로 정렬해 출력한다. 대소문자를 무시했을 때 이름까지 같으면 원래 이름의 사전순으로 정렬한다. 공동 순위 다음 팀의 순위는 그 팀보다 앞선 팀 수만큼 건너뛴다. 예를 들어 두 팀이 공동 1위이면 그다음 팀은 3위이다.
대회 사이에 빈 줄을 넣지 않는다.