AB的Bytetown市民无法忍受市长竞选活动的候选人随心所欲地在所有地方张贴选举海报。市议会最终决定建造一堵选举墙来放置海报,并引入以下规则: 每个候选人都可以在墙上放置一张海报。 所有海报的高度都等于墙的高度;海报的宽度可以是任何整数字节数(字节是字节镇的长度单位)。 墙被分成几个段,每个段的宽度是一个字节。 每张海报必须完全覆盖连续数量的墙段。
他们建造了一堵10000000字节长的墙(这样就有足够的空间容纳所有候选人)。当竞选活动重新开始时,候选人将他们的海报贴在墙上,他们的海报宽度差异很大。此外,候选人开始将他们的海报放在已经被其他海报占据的墙上。Bytetown的每个人都很好奇,在选举前的最后一天,谁的海报将(全部或部分)可见。 您的任务是在放置所有海报时找到可见海报的数量,并给出有关海报大小,位置和在选举墙上放置顺序的信息。
输入的第一行包含一个数字 c,给出后面的事例数。单个案例的第一行数据包含数字 1 <= n <= 10000。随后的 n 行按海报放置顺序描述海报。n 行中的第 i 行包含两个整数 l i 和 ri,分别是第i 张海报左端和右端占据的墙段的编号。我们知道,对于每个 1 <= i <= n,1 <= li <= ri <= 10000000。放置第 i 张海报后,它完全覆盖了编号为 li、li+1 ,... , ri 的所有墙段。
对于每个输入数据集,在放置所有海报后打印可见海报的数量。
下图说明了示例输入的情况。
1 5 1 4 2 6 8 10 3 4 7 10
4
艾伯塔省大学编程竞赛 2003.10.18