n개의 닫힌 구간 [ai,bi] (i=1,2,…,n)이 주어진다. 이 구간들의 합집합은 서로 겹치지 않는 닫힌 구간들의 합으로 나타낼 수 있다. 구간의 개수가 최소가 되도록 하는 표현을 구하고, 그 구간들을 오름차순으로 출력하라. 두 구간 [a,b]와 [c,d]가 오름차순이라는 것은 a≤b<c≤d일 때만 성립한다.
다음을 수행하는 프로그램을 작성하라.
첫째 줄에 구간의 개수 n이 주어진다 (3≤n≤50000). 다음 n개의 줄 중 i번째 줄에는 구간 [ai,bi]을 나타내는 두 정수 ai와 bi가 공백 하나로 구분되어 주어진다. 각각 구간의 시작과 끝을 의미하며 1≤ai≤bi≤1000000이다.
계산한, 서로 겹치지 않는 모든 구간을 출력한다. 각 줄에는 구간 하나의 정보를 쓴다. 한 줄은 구간의 시작과 끝을 나타내는 두 정수를 공백 하나로 구분하여 구성한다. 구간들은 오름차순으로 출력해야 한다.