#L6379. 「是男人就过8题——Pony.ai」Intervals

「是男人就过8题——Pony.ai」Intervals

题目描述

设区间 [s,t][s, t] 表示在 sstt 之间的整数集合(包含 sstt)。给定一个 nn 个区间的集合 AA,求出一个集合 BB(不一定要是 AA 的子集),满足对于任意 [s,t]A[s, t] \in A,均可以用 BB 中若干个区间的并来表示,你的目标是最小化 BB 中区间个数。


输入格式

本题至多有 100100 组测试数据。

每一组数据包含一个整数 nn,下面 nn 行每行两个空格分开的整数 si,tis_i, t_i,表示 AA 中的一个区间。


输出格式

对于每组数据,输出一个整数 mm,表示 BB 中的区间个数。

以下 mm 行,每行包含两个空格隔开的整数 s,ts,t 表示 BB 中的区间。

如果有多解,输出任意一组。


样例

输入

2
1 2
3 4
3
1 2
3 4
1 4
7
5 9
0 6
4 8
3 7
0 5
7 9
4 6

输出

2
1 2
3 4
2
1 2
3 4
5
0 5
4 6
3 7
5 8
7 9

数据范围与提示

对于 100%100\% 的数据,1n10001 \leq n \leq 10000siti1090 \leq s_i \leq t_i \leq 10^9