현주는 명의 사원이 참가하는 프로그래밍 스터디 그룹을 이끌고 있다.
현주는 스터디를 위해 대회를 세 개 출제하였고, 모든 구성원이 각 대회에 참여하였다. 각 참가자는 각 대회에서 이상 이하의 정수인 점수를 얻는다. 한 대회에서 둘 이상의 참가자가 동점이 나오는 경우도 있을 수 있다.
현주는 각 대회별 등수 및 최종 등수를 매기고 싶다. 등수는 가장 점수가 높은 사람부터 등, 등, , 등의 순서대로 붙는다. 만일 동점이 있을 경우 가능한 한 높은(등수의 수가 작은) 등수를 부여한다. 즉, 점수가 내림차순으로 의 순서일 경우, 점을 받은 두 사람은 공동 등이 되고, 그 다음 순서인 점을 받은 사람은 등이 된다. 이 규칙을 다르게 표현하면 다음과 같다: 각 사람마다 "나보다 점수가 큰 사람"의 수를 세어 을 더한 것이 자신의 등수가 된다. 대회별 등수는 각 대회에서 얻은 점수를 기준으로 하며 최종 등수는 세 대회의 점수의 합을 기준으로 한다.
각 참가자의 대회별 등수 및 최종 등수를 출력하는 프로그램을 작성하시오.
첫째 줄에 참가자의 수를 나타내는 정수 이 주어진다.
이어 세 개의 줄에 각 대회의 결과를 나타내는 개의 정수가 주어진다. 이중 번째 정수는 그 대회에서 번째 사람이 얻은 점수를 의미한다.
첫 세 개의 줄에는 각 참가자의 대회별 등수를 출력한다. 즉 이중 번째 줄의 번째 정수는 번째 대회에서의 번째 사람의 등수를 의미한다.
이어 새로운 줄에 같은 형식으로 각 참가자의 최종 등수를 출력한다.
| 번호 | 배점 | 제한 |
|---|---|---|
| 1 | 10 | 이고, 대회별 등수 및 최종 등수는 모두 서로 다르다. |
| 2 | 30 | 이다. |
| 3 | 60 | 다른 제한 조건이 없다. |
3 40 80 70 50 10 20 100 70 30
3 1 2 1 3 2 1 2 3 1 2 3
3 1000 1000 700 300 100 400 200 400 400
1 1 3 2 3 1 3 1 1 1 1 1