도현이네 반 학생 N명의 이름과 국어, 영어, 수학 점수가 주어진다. 이때, 다음과 같은 조건으로 학생의 성적을 정렬하는 프로그램을 작성하시오.
첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 100보다 작거나 같은 자연수이다. 이름은 알파벳 대소문자로 이루어진 문자열이고, 길이는 10자리를 넘지 않는다.
입력 | 출력 |
---|---|
12 | |
Junkyu 50 60 100 | Donghyuk |
Sangkeun 80 60 50 | Sangkeun |
Sunyoung 80 70 100 | Sunyoung |
Soong 50 60 90 | nsj |
Haebin 50 60 100 | Wonseob |
Kangsoo 60 80 100 | Sanghyun |
Donghyuk 80 60 100 | Sei |
Sei 70 70 70 | Kangsoo |
Wonseob 70 70 90 | Haebin |
Sanghyun 70 70 80 | Junkyu |
nsj 80 80 80 | Soong |
Taewhan 50 60 90 | Taewhan |
n = int(input())
student = []
for i in range(n):
student.append(list(input().split()))
student.sort(key = lambda x : (-int(x[1]), int(x[2]), -int(x[3]), x[0]))
for i in range(n):
print(student[i][0])