牛可乐与NCPC
题号:NC235569
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

牛可乐举办了一场名为 NCPC 的比赛,有 n 支队伍前来参赛,每只队伍的能力可以由两个整数 a_i,b_i 描述。对于一支队伍 i,如果不存在另外一支队伍 j 满足 或者 ,那么该支队伍就会进入牛可乐的观察列表。如果存在且队伍 i 在观察列表中,那么牛可乐会将这支队伍从列表中移除。

牛可乐会在队伍依次进场的过程中实时更新自己的观察列表,请你计算出,对于任意 ,第 i 支队伍进场后,牛可乐的观察列表中有几支队伍。

输入描述:

第一行包含一个数字 ,代表数据组数。

对于每一组数据,第一行包含一个整数 ,代表队伍数量。

之后 n 行,每行包含两个整数 ,代表第 i 支队伍的属性。

输出描述:

对于每组数据,输出  行。

第一行输出 "Case #x:"(不含引号),代表第 x 组数据。

之后 n 行,每行输出一个整数,代表第 i 支队伍进场后观察列表的队伍数量。

对于每组数据,你需要在结尾额外输出一个空行。
示例1

输入

复制
4 
1 
100 200 
2 
100 200 
101 202 
2 
100 200 
200 100 
5 
11 20 
20 10 
20 10 
100 20 
1 1

输出

复制
Case #1:          
1 
                      
Case #2:          
1 
1 
                      
Case #3:          
1 
2 
                      
Case #4:          
1 
2 
3 
3
1

说明

对于第四组数据,前三队进场后都会加入观察列表且不会删除队伍,第四队进场后,前三队均满足属性偏序要求,因此第四队不会被加入观察列表,第五队进场后,前三队的对应属性均大于第五队对应属性,因此前三队会被移除,第五队会被加入观察列表,因此答案为 1,2,3,3,1