축구 순위

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

문제

여러 경기가 진행된 축구 리그의 순위를 계산해야 합니다.

각 경기에서 이긴 팀은 승점 3점, 비긴 팀은 승점 1점, 진 팀은 승점 0점을 얻습니다.

순위는 다음 규칙으로 정합니다.

  • 먼저 모든 경기에서 얻은 총 승점이 높은 팀부터 낮은 팀 순으로 정렬합니다.
  • 일부 팀만 같은 승점으로 묶이면, 그 팀들만 포함하는 새 리그를 만듭니다. 이 새 리그에서는 그 팀들끼리 치른 경기의 승점만 고려하고, 같은 규칙을 다시 적용합니다.
  • 현재 리그 또는 묶음에 속한 모든 팀의 승점이 같으면, 최초 리그의 전체 경기에서 계산한 골 득실, 득점 수, 승리 수를 차례로 비교합니다. 그래도 같으면 번호가 작은 팀이 더 높은 순위를 가집니다.

리그의 최종 순위를 구하는 프로그램을 작성하세요.

입력

첫째 줄에 팀의 수 N과 이미 치른 경기 수 K가 주어집니다. 1 <= N <= 100, 1 <= K <= 1000입니다. 팀은 1번부터 N번까지의 번호로 구분합니다.

다음 K개 줄에는 각 경기의 정보가 'A B C:D' 형식으로 주어집니다. 이는 A번 팀과 B번 팀이 경기했고, A번 팀이 C골, B번 팀이 D골을 넣었다는 뜻입니다. 0 <= C, D <= 9입니다.

출력

첫째 줄에 가장 높은 순위의 팀부터 가장 낮은 순위의 팀까지 팀 번호를 공백으로 구분해 출력합니다.