#include<scoring>
면접 대비시간 제한2초메모리 제한512 MB
참가자를 해결한 문제 수, 패널티, 마지막 정답 제출 시각 순으로 정렬한 뒤, 30위까지의 점수표에서 기본 점수를 매기고 동점자는 평균을 올림해 계산하며, 대면 참가자에게 가산점 1점을 더한다.
문제
아시다시피, LTH Challenge는 Swedish Coding Cup이라 불리는 일곱 개 대회 시리즈의 일부이다. 시리즈의 각 대회는 참가자에게 대회에서의 순위에 따라 점수를 부여한다.
각 대회가 끝난 뒤 점수는 다음 표에 따라 부여된다.
참가자가 위보다 낮은 순위를 받으면 점을 받는다.
두 명 이상의 참가자가 대회에서 같은 순위를 받으면, 그들은 대신 해당 순위들에 대응하는 점수의 평균을 받는다. 이 점수는 항상 가장 가까운 정수로 올림된다. 예를 들어, 세 명의 참가자가 2위를 공유하면 모두 점을 받는다.
참가자는 모든 대회에 현장 또는 온라인으로 참가할 수 있다. 현장에서 참가하면 원래 점수와 상관없이 1점을 더 받는다. 참가자가 어떤 대회에 참가하지 않으면 점을 받는다.
LTH Challenge에서 각 참가자의 순위는 ACM scoring으로 계산한다. 각 참가자는 푼 문제 수(내림차순), 시간 패널티(오름차순), 마지막으로 정답을 제출한 시각(분, 오름차순) 순으로 순위를 매긴다. 이 세 가지가 모두 같으면 참가자는 동점이 된다.
이해하겠지만, 이런 대회가 끝난 뒤 모든 참가자의 점수를 계산하는 일은 매우 지루하다. 출제진은 이걸 직접 프로그래밍하고 싶지 않아서 기존 라이브러리를 쓰는 편을 택했다. 그러나 Swedish Coding Cup이 처음 열린 대회라서, 아무도 그런 라이브러리를 작성하지 않았다.
다행히도 그들에게는 당신이 있다.
입력
입력은 다음과 같다.
- 참가자 수 이 주어지는 한 줄 ().
- 개의 줄에 정수 , , , 가 주어진다 (, , , ). 각각 참가자가 푼 문제 수, 참가자의 시간 패널티, 마지막으로 정답을 제출한 시각, 현장 참가로 받아야 하는 추가 점수이다.
출력
입력에 나열된 순서대로 모든 참가자의 점수를 개의 줄에 출력한다.