话说FJUT_ACM在Home_Z的领导下,日益壮大,在整个FJUT也有了不小的名声。邪恶的T^T不甘受制于人,启动了一个秘密计划,要从Home_Z的手中发动暴乱,从而夺取管理权。
T^T在组织内秘密串通了n个人,并制作了n个绝密令牌,要将n个令牌分给n个人。
为了方便管理,每个令牌上都写了一个数字k,并且每个令牌上的数字互不相同。
每个人在FJUT_ACM内有一个工号z,但是由于各种层级关系混乱,每个人的工号并不是互不相同的。
这就很头疼了。。不能建立一种一一对应的关系。于是T^T想在分发号码牌的时候,必须保证每个人的工号 大于或等于 令牌上的数字。
那么请计算这样分发令牌的话有多少种互不相同的方法。(只要有任意一个人拿到不一样的令牌即为不同的方法)
第一行输入一个T表示测试数据的组数
每组数据第一行是一个n(1<=n<=105)
接下来一行有n个数字表示第i个令牌上的数字ki。
下一行有n个数字表示第i个召集的成员的工号zi。
(1<=ki,zi<=109)
每个测试样例先输出"Case #x: A"。x表示当前是第几个测试数据。A表示答案。由于答案会很大,请输出A%(109+7)的结果。
3 5 1 2 3 4 5 1 2 3 4 5 2 1 3 2 2 3 2 3 4 6 3 5
Case #1: 1 Case #2: 0 Case #3: 4