패들 상금 경쟁
시간 제한3초메모리 제한1024 MB
M번의 경기에서 승자는 새 메달을 얻고 패자의 메달을 모두 가져갑니다. 각 메달을 가장 오래 보유한 사람에게 준 뒤 참가자별 메달 수를 구합니다.
문제
명의 참가자가 0번부터 번까지 번호를 달고 일 동안 패들 토너먼트를 치릅니다. 매일 정확히 한 경기가 열립니다. 경기마다 메달이 하나씩 주어지므로 메달은 모두 개입니다. 일차 경기에서는 참가자 와 가 맞붙습니다. 경기는 다음과 같이 진행됩니다.
- 참가자 가 를 이깁니다.
- 승자 에게 새 메달이 하나 주어집니다.
- 패자가 가진 메달은 전부 승자에게 넘어갑니다.
마지막 경기 다음 날인 일째에 시상식이 열립니다. 시상식에서는 모든 메달을 회수합니다. 그다음 각 메달을 일째 기준으로 그 메달을 가장 오래 보유한 참가자에게 줍니다. 보유한 밤은 연속일 필요가 없습니다. 보유 기간이 같은 참가자가 둘 이상이면 번호가 가장 작은 참가자에게 줍니다. 시상식에서 각 참가자가 받는 메달 개수를 구하세요.
입력
첫 줄에 참가자 수 과 경기 수 이 정수로 주어집니다.
이어서 개의 줄에 각각 정수 와 가 주어집니다. 번째 줄은 일차 경기의 참가자이며, 가 를 이긴 경기입니다.
출력
한 줄에 정수 개를 출력합니다. 번째 정수는 시상식 후 참가자 가 가진 메달 개수입니다.
제한
- .
- .
- 이고 입니다 (모든 에 대해).
힌트
첫 번째 예제에서는 대회 내내 누가 어떤 메달을 가졌는지 아래 그림이 보여 줍니다. 3일째에 참가자 1이 지면 그 참가자의 메달은 모두 참가자 2에게 넘어갑니다.

두 번째 예제는 아래 그림과 같습니다.

시상식 후 참가자 0은 메달 5와 6을, 참가자 1은 메달 3과 4를, 참가자 2는 메달 0, 1, 2를 받습니다.