시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 512 MB98840633241.294%

문제

가희는 스케쥴러를 구현하라는 과제를 받았습니다. 스케쥴러가 실행시킬 프로세스를 선택하는 기준은 아래와 같습니다.

  • 우선 순위 값이 제일 큰 프로세스
  • 우선 순위 값이 제일 큰 프로세스가 여러 개라면, id가 가장 작은 프로세스

가희가 만든 스케쥴러는 다음 알고리즘으로 실행됩니다.

  1. 실행시킬 프로세스를 기준에 따라 선택합니다. 선택된 프로세스의 idids라 합니다. ids를 실행시킵니다.
  2. 1초가 지난 후, 프로세스 idids인 프로세스를 제외한 나머지 프로세스들의 우선 순위가 1 상승합니다. 
    프로세스 idid인 프로세스의 실행을 마치는 데 필요한 시간은 1 감소합니다.
  3. 실행 시간이 남은 프로세스가 있다면 1로 돌아가고, 그렇지 않으면 종료합니다.

동시에 실행되는 프로세스는 1개이고, 1초일 때 가희가 만든 스케쥴러는 최초로 선택한 프로세스를 실행시키는 작업을 합니다.

가희는 1초일 때 부터 T초일 때 까지, 스케쥴러가 선택한 프로세스의 id를 알고 싶습니다. 가희를 도와주세요.

입력

첫 번째 줄에 T, n이 주어집니다.

두 번째 줄 부터 n+1번째 줄까지 다음과 같은 형식으로 주어집니다.

Ai Bi Ci

이것은 i번째 process의 idAi이고, 프로세스 id가 실행을 마치는 데 필요한 시간이 Bi초이고, 초기 우선 순위가 Ci임을 의미합니다.

출력

T개의 정수를 T개의 줄에 출력합니다.

i번째 줄에는 가희가 만든 스케쥴러가 i초가 되었을 때 선택한 프로세스의 id를 출력해 주세요.

제한

  • 1 ≤ n ≤ 105
  • 1 ≤ T ≤ min(프로세스들의 실행 시간 총 합, 106)
  • 1 ≤ Ai, Bi, Ci ≤ 106
  • 문제에 주어지는 프로세스의 id 값은 모두 다릅니다.
  • 주어지는 값들은 모두 자연수입니다.

예제 입력 1

8 2
1 5 1
2 5 1

예제 출력 1

1
2
1
2
1
2
1
2

1초일 때 부터 4초일 때 상황을 그림으로 나타내면 아래와 같습니다. 아래 그림에서 주황색은 특정 시점에 스케쥴러가 선택한 프로세스를 의미합니다.

 

예제 입력 2

10 2
1 10 1000
2 10 1

예제 출력 2

1
1
1
1
1
1
1
1
1
1