문제
새로 체육관을 연 정올이는 예약 시스템을 만들었다.
체육관에는 서로 다른 운동 기구가
정올이는 가까운 미래에 대한
이 목표를 달성하도록 예약 배정을 도와주어라.
입력
첫 줄에 정수
n, k 가 주어진다.1 \le n \le 1{,}000{,}000 1 \le k \le 10^9
기구는1 \sim k 로 번호가 매겨져 있고, 시간(‘몇 번째 시간’)도 1부터 시작하는 연속된 정수로 번호가 매겨진다고 가정한다.
다음
n 줄에 걸쳐 예약 정보가 주어진다.i 번째 줄에는 정수a_i, b_i, p_i 가 주어지며:1 \le a_i \le b_i \le 10^9 1 \le p_i \le k
이는i 번째 고객이 기구p_i 를 시간a_i 부터b_i 까지(포함) 중 어느 1시간에 사용하고 싶다는 뜻이다.
출력
모든 예약을 만족시키면서, 어떤 기구도 같은 시간에 두 예약에 배정되지 않도록 스케줄을 만드는 것이 가능하다면:
총
n+1 줄을 출력한다.첫 줄: 체육관을 적어도 한 명이 이용하는 시간의 최소 개수
다음
n 줄 중i 번째 줄:i 번째 예약에 대해 선택된 시간t_i 를 출력한다.t_i \in [a_i, b_i] 그리고
i 번째 예약의 기구p_i 는 정확히 시간t_i 에 1시간 사용한다고 해석한다.
만약 그런 스케줄을 만드는 것이 불가능하다면:
NIE를 출력한다.
예제 #1
4 2
1 3 1
1 1 1
1 3 2
3 3 2
2
3
1
1
3
예제 #2
3 1
1 2 1
1 2 1
1 2 1
NIE