만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

ACM 순위표

시간 제한2초메모리 제한128 MB

요약
각 팀의 제출 기록을 ACM 규칙으로 집계해 푼 문제 수, 총 시간, 팀 번호 순으로 정렬한다.
난이도

쉬움10점 중 3점

유형
정렬, 구현, 해시맵
정답자
아직 제출이 없습니다

문제

ACM 형식의 프로그래밍 대회는 각 팀의 제출(run)을 받아 채점하고 그 결과를 순위표에 보여 주는 채점 소프트웨어로 진행됩니다. 순위 계산 규칙은 다음과 같습니다.

  1. 모든 제출은 정답(accepted) 또는 오답(rejected) 중 하나입니다.
  2. 어떤 팀이 한 문제에 대해 제출한 것 중 하나라도 정답이면, 그 팀은 그 문제를 해결한 것입니다.
  3. 해결한 문제의 소요 시간은 대회 시작부터 그 문제의 첫 정답 제출까지 걸린 시간에, 그 정답 제출 이전에 같은 문제에 제출한 다른 제출 하나마다 20분의 벌점을 더한 값입니다. 해결하지 못한 문제의 소요 시간은 계산하지 않습니다.
  4. 팀의 총 시간은 그 팀이 해결한 모든 문제의 소요 시간을 합한 값입니다.
  5. 팀의 순위는 먼저 해결한 문제 수가 많은 순으로 정하고, 같으면 총 시간이 작은 순으로 정합니다.
  6. 시간은 분 단위로 표시되지만 실제로는 1초 단위로 측정되며, 팀의 순위를 정할 때 초 단위까지 반영합니다.
  7. 위 규칙으로도 순위가 같은 팀은 팀 번호가 작은 순으로 정렬합니다.

NN개의 제출 각각의 제출 시각과 결과가 주어질 때, CC개 팀의 순위표를 구하세요.

입력

첫 부분에 두 정수 CC와 NN이 주어지고, 이어서 NN개의 제출이 각각 네 정수 ci pi ti ric_i\ p_i\ t_i\ r_i로 주어집니다.

  • cic_i — 팀 번호,
  • pip_i — 문제 번호,
  • tit_i — 대회 시작부터의 제출 시각(초 단위),
  • rir_i — 정답이면 11, 오답이면 00.

숫자들은 공백이나 줄바꿈으로 구분됩니다.

출력

CC개의 팀 번호를 순위가 높은 순서대로 한 줄에 공백 하나로 구분하여 출력하세요.

제한

  • 1≤C,N≤10001 \le C, N \le 1000
  • 1≤ci≤C1 \le c_i \le C
  • 1≤pi≤201 \le p_i \le 20
  • 1≤ti≤360001 \le t_i \le 36000

예제1

  1. 예제 1

    입력
    3 3
    1 2 3000 0
    1 2 3100 1
    2 1 4200 1
    
    예상 출력
    2 1 3