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

문제

항공대에는 두 대의 비행기가 전시되어 있다. 현재 두 비행기는 각각 $0$번과 $1$번 위치에 전시되어 있다. 그리고 트럭이 한 비행기가 전시된 위치에서 다른 비행기가 전시된 위치로 가는데는 $T$의 시간이 소요된다. 항공대는 미관상의 이유로 두 비행기가 전시된 위치를 서로 바꾸려고 한다. 비행기는 매우 크기 때문에, 비행기를 옮기기 위해서는 비행기를 작은 부품들로 분해한 뒤 이를 재조립하는 방식을 사용한다. 양쪽 비행기에서 분해해 옮겨야 할 부품의 개수는 총 $N$개이며, 각 부품은 운송이 준비되는 순서대로 번호가 매겨진다. 그리고 부품을 옮기기 위한 트럭의 최대 적재량은 $M$이다.

현재 수업을 듣기 위해 많은 학생들이 캠퍼스 내에 있기 때문에 학교에서는 안전상의 문제로 트럭을 한 대만 운용하려고 한다. 이때 작업 시간을 단축하기 위해 한 번에 최대한 많은 무게를 트럭에 실으려 하는데, 트럭에 실을 수 있는 여유 공간에 비해 실으려는 부품의 크기가 큰 경우 부품을 더 분해해서 실을 수 있다. 예를 들어 트럭에 남은 여유 무게가 $20$이고, 부품의 무게가 $50$이라면, 부품을 $20$과 $30$으로 분해해서 $20$을 트럭에 싣고 출발한다.

반대편 비행기에 트럭이 도착할 경우, 트럭이 실은 부품을 모두 비운 후 트럭의 도착 시점에 운송이 준비된 부품들을 번호 순서대로 싣는다. 이때 부품을 싣고 내리는 시간은 고려하지 않는다. 준비된 부품을 최대한 실었다면 반대편으로 출발한다.

두 비행기에서 분해된 부품이 아직 운송이 준비되지 않은 경우도 존재할 수 있다. 이런 경우 하나의 부품이 준비될 때까지 기다리다가 부품이 먼저 준비된 쪽으로 이동한다. 이때, 양 비행기에서 다음으로 준비되는 부품의 시간이 동일하다면, 현재 트럭 위치의 부품을 먼저 싣는다. 만약, 현재 트럭이 있는 비행기가 모두 분해되었으면 반대쪽 비행기로 바로 이동해서 분해된 부품이 나올 때까지 대기한다.

당신은 각 부품이 언제 출발했고, 언제 도착했는지에 대한 시간을 기록하고 싶다. 각 부품이 나오는 비행기의 번호와 부품의 무게, 운송이 준비되는 시간이 주어질 때, 각 부품이 출발하고 도착하는 시간을 순서대로 출력하자. 단, 부품이 분해된 경우 출발 시간은 분해된 부품이 최초로 출발한 시간, 도착시간은 분해된 부품들이 모두 반대편에 완전히 도착했을 때의 시간이다.

입력

첫 번째 줄에 전체 부품의 수 $N$, 트럭의 최대 적재량 $M$, 두 비행기 간의 거리 $T$가 주어진다. ($1 \le N \le 1\,000$, $1 \le M \le 1\,000$, $1 \le T \le 100$)

다음 $N$개의 줄에 $i$번 부품의 위치 $d_i$, 부품의 무게 $m_i$, 운송이 준비되는 시간 $r_i$이 주어진다. ($d \in \{0, 1\}$, $1 \le m \le M$, $0 \le r \le 10\,000$)

모든 입력 케이스에서 $r_i$는 감소하지 않는 순서로 주어지며, $1$번 부품은 항상 $0$번 위치에 있는 비행기의 부품이다. 주어지는 수는 모두 정수이다.

처음 트럭은 $0$번 위치에 있다.

출력

$N$개의 줄에 걸쳐 $i$번 부품의 출발 시간과 도착 시간을 공백으로 구분해 출력한다.

예제 입력 1

4 100 10
0 50 0
1 50 5
0 50 20
1 50 30

예제 출력 1

0 10
10 20
20 30
30 40

예제 입력 2

4 100 10
0 50 0
1 50 15
0 50 20
1 50 30

예제 출력 2

0 10
15 25
25 35
35 45

예제 입력 3

4 100 10
0 50 0
0 50 15
1 50 25
1 50 30

예제 출력 3

0 10
25 35
35 45
35 45

예제 입력 4

4 100 10
0 50 0
0 50 5
1 80 10
1 50 10

예제 출력 4

0 10
20 30
10 20
10 40

예제 입력 5

4 100 10
0 50 0
0 50 15
0 80 25
0 50 30

예제 출력 5

0 10
20 30
40 50
40 70