有 $N$ 个任务:第 $i$ 个任务必须在时刻 $s_i$ 开始,并在时刻 $e_i$ 结束。此外,我们有无限多的机器可供使用。我们需要将任务分配给机器。每个任务将被分配给一台机器。另一方面,每台机器可以处理任意数量的任务,只要其中没有两个任务重叠。如果两个任务 $i$ 和 $j$ 的开区间 $(s_i, e_i)$ 和 $(s_j, e_j)$ 的交集非空,则称这两个任务重叠。
一台机器在分配给它的最早任务开始时开启,在分配给它的最晚任务结束时关闭。机器的工作时间是这两个时刻之间的时间长度:我们不能将单台机器开启和关闭超过一次。
你的任务是找到执行所有任务所需的最少机器数量 $K$。此外,在使用 $K$ 台机器时,求出所有机器工作时间之和的最小值。
输入格式
第一行包含一个整数 $T$,表示测试用例的数量 ($1 \le T \le 100$)。
每个测试用例的第一行包含一个整数 $N$ ($0 < N \le 10^5$)。接下来的 $N$ 行,每行包含两个整数 $s_i$ 和 $e_i$ ($0 \le s_i < e_i \le 10^9$)。
保证对于不超过 10 个测试用例,$N > 50$。
输出格式
对于每个测试用例,输出一行,包含两个整数:执行所有任务所需的最少机器数量 $K$,以及使用 $K$ 台机器时所有机器工作时间之和的最小值。
样例
输入 1
1 3 1 3 4 6 2 5
输出 1
2 8