버스 노선 개편하기

아직 제출이 없습니다시간 제한2초메모리 제한1024 MB

문제

서강 나라에서는 일직선 도로를 따라 NN개의 버스 노선을 운영 중이다. 필요할 때마다 노선을 새로 만든 탓에 겹치거나 중복되는 노선이 많다. 복잡한 버스 노선에 지친 시민들을 위해 버스 노선을 개편하기로 했다.

각 버스 노선은 세 정수 SS, EE, CC로 나타낼 수 있으며, 구간 \[S,E]\[S,E]를 요금 CC로 운행한다는 뜻이다. 어떤 두 버스 노선의 구간이 한 점 이상에서 겹친다면, 두 구간을 합친 새 노선으로 대체한다. 이때 요금은 더 낮은 금액의 요금을 따르기로 했다. 버스 노선 개편은 구간이 겹치는 버스 노선이 없을 때까지 진행한다.

그림 D.1: 개편 전과 개편 후의 버스 노선도

버스 노선들의 정보가 주어지면, 개편이 끝난 후 버스 노선의 정보를 출력하는 프로그램을 작성하자.

입력

첫 번째 줄에 버스 노선의 수 NN이 주어진다. (1N200,0001 \le N \le 200\\,000)

두 번째 줄부터 NN개의 줄에 각 버스 노선을 나타내는 세 정수 SS, EE, CC가 주어진다. (0S< E1090 \le S \lt E \le 10^9, 1C1091 \le C \le 10^9)

출력

첫 번째 줄에 개편이 끝난 후의 버스 노선의 수 KK를 출력한다.

두 번째 줄부터 KK개의 줄에 개편 후 각 버스 노선의 SS, EE, CCSS가 작은 순서대로 출력한다.