UOJ Logo Universal Online Judge

UOJ

#54. 【WC2014】时空穿梭

附件下载 统计

小 X 驾驶着他的飞船准备穿梭过一个 n 维空间,这个空间里每个点的坐标可以用 n 个实数表示,即 (x1,x2,,xn)

为了穿过这个空间,小 X 需要在这个空间中选取 cc2)个点作为飞船停留的地方,而这些点需要满足以下三个条件:

  1. 每个点的每一维坐标均为正整数,且第 i 维坐标不超过 mi
  2. i+11i<c)个点的第 j1jn)维坐标必须严格大于第 i 个点的第 j 维坐标。
  3. 存在一条直线经过所选的所有点。在这个 n 维空间里,一条直线可以用 2n 个实数 p1,p2,,pn,v1,v2,,vn 表示。直线经过点 (x1,x2,,xn),当且仅当存在实数 t,使得对 i=1n 均满足 xi=pi+tvi

小 X 还没有确定他的最终方案,请你帮他计算一下一共有多少种不同的方案满足他的要求。由于答案可能会很大,你只需要输出答案 mod10007 后的值。

输入格式

第一行包含一个正整数 T,表示有 T 组数据需要求解。

每组数据包含两行,第一行包含两个正整数 n,cc2),分别表示空间的维数和需要选择的暂停点的个数。

第二行包含 n 个正整数,依次表示 m1,m2,,mn

输出格式

T 行,每行包含一个非负整数,依次对应每组数据的答案。

样例一

input

3
2 3
3 4
3 3
3 4 4
4 4
5 9 7 8

output

2
4
846

explanation

对于第一组数据,共有两种可行的方案:一种选择 (1,1),(2,2),(3,3),另一种选择 (1,2),(2,3),(3,4)

样例二

见样例数据下载。

限制与约定

测试点编号Tncmi
1=1000=120100000
2=342030
3=3=2=3100000
4=1000=2=3100000
5=205=3100000
6=10011=3100000
7=1520100000
8=20520100000
9=1001120100000
10=1001120100000

时间限制1s

空间限制512MB

下载

样例数据下载