프로그래밍 대회의 순위 프로그램을 구현하라.
각 팀은 최대 일곱 개의 문제를 푼다. 각 팀에 대해 문제마다 그 문제를 해결한 시각이 주어지며, 시각이 $0$이면 그 문제를 풀지 못한 것이다. 팀들의 순위를 매기고, 각 대회마다 정해진 형식의 결과표를 출력하는 것이 목표다.
입력에는 하나 이상의 대회가 주어지고, 마지막에는 숫자 0 하나만 있는 줄이 나와 입력의 끝을 나타낸다.
각 대회는 팀의 수를 나타내는 양의 정수 $c$ ($1 \le c \le 20$)가 적힌 줄로 시작한다. 이어지는 $c$개의 줄에는 각각 팀 이름과 일곱 문제의 해결 시각이 공백으로 구분되어 주어진다. 팀 이름은 1자 이상 10자 이하의 알파벳 문자로 이루어지며, 한 대회 안에서 모든 팀 이름은 서로 다르다. 각 시각은 $500$ 이하의 음이 아닌 정수이고, $0$은 해당 문제를 풀지 못했음을 뜻한다.
팀의 순위는 다음 기준을 순서대로 적용해 정한다.
세 기준이 모두 같은 팀들은 동순위이며, 같은 등수를 부여받고 대문자와 소문자를 구분하는 사전식 순서로 나열된다. 한 팀의 등수는 항상 그 팀보다 (동순위가 아니라) 확실히 앞서는 팀의 수보다 하나 더 크다.
기하평균은 정수로 반올림하며, 순위 결정과 출력에는 이 반올림한 값만 사용한다. 일곱 시각이 모두 $0$이면 기하평균은 $0$이다. 그렇지 않고 $0$이 아닌 시각이 $t_1, t_2, \ldots, t_n$이면 기하평균은
$$\exp!\left(\frac{\ln t_1 + \ln t_2 + \cdots + \ln t_n}{n}\right)$$
로 정의한다. 여기서 $\exp x = e^x$이고 $\ln x$는 자연로그다. 반드시 이 정의를 사용하라. 기하평균을 구한 뒤에는 $0.5$를 더하고 소수 부분을 버려 정수로 반올림한다.
각 대회에 대해 먼저 CONTEST k 형식의 머리글 줄을 출력한다. 여기서 $k$는 $1$부터 시작하는 대회 번호다. 그다음 순위 순서대로 각 팀을 한 줄씩 출력한다.
각 팀 줄에는 순서대로 등수, 팀 이름, 푼 문제 수, 총 소요 시간, 반올림한 기하평균, 그리고 입력에 나온 순서 그대로의 일곱 개 개별 해결 시각을 적는다.
출력의 모든 줄은 같은 열 너비를 사용하며, 이 너비는 대회마다가 아니라 전체 입력을 통틀어 한 번만 계산한다. 각 열의 너비는 입력 전체에서 그 열에 나타나는 값 중 가장 넓은 값에 맞춘다. 각 필드는 그 너비에 맞도록 공백(탭 금지)으로 채운다. 팀 이름은 왼쪽 정렬, 나머지 필드는 모두 오른쪽 정렬이다. 등수는 항상 두 자리로 쓰며 필요하면 앞에 $0$을 붙인다. 일곱 개의 시각 열은 하나의 공통 너비를 공유한다. 어떤 줄도 공백으로 시작하거나 끝나지 않는다.