曹操集结了大军,准备南下侵略。周瑜对此感到忧虑。他认为击败曹操的唯一方法是在曹操的军队中安插一名间谍。但曹操麾下的将领和士兵都非常忠诚,想要说服他们中的任何一人背叛曹操是不可能的。
因此,周瑜只剩下最后一个办法:派人向曹操诈降。盖黄被选中执行这一重要任务。然而,曹操并非轻易相信他人,所以盖黄在投降前必须向曹操泄露一些重要情报。
周瑜与盖黄商议后,按发生顺序制定了 $N$ 条待泄露的情报。每条情报在曹操看来都有一个估值 $a_i$。
事实上,如果泄露的情报价值严格递增,就能更快地赢得曹操的信任。因此,盖黄决定按发生顺序选择 $M$ 条情报进行泄露,且这些情报的价值必须严格递增。换句话说,盖黄不会改变这 $N$ 条情报的顺序,只需从中选出 $M$ 条。请找出盖黄有多少种选择情报的方法。
输入格式
输入的第一行包含测试用例的数量 $T(1 \le T \le 100)$。接下来是 $T$ 个测试用例。
每个测试用例的第一行包含两个数字 $N(1 \le N \le 10^3)$ 和 $M(1 \le M \le N)$,分别表示情报的总数和盖黄将要选择的情报数量。随后一行包含 $N$ 个数字,其中第 $i$ 个数字 $a_i(1 \le a_i \le 10^9)$ 表示按发生顺序排列的第 $i$ 条情报在曹操眼中的价值。
输出格式
对于每个测试用例,输出一行 “Case #x: y”,其中 $x$ 是测试用例编号(从 1 开始),$y$ 是盖黄选择情报的方法数。
由于结果可能非常大,你需要将结果对 $1000000007(10^9 + 7)$ 取模。
样例
样例输入 1
2 3 2 1 2 3 3 2 3 2 1
样例输出 1
Case #1: 3 Case #2: 0
说明
在第一个样例中,盖黄需要从 3 条情报中泄露 2 条。由于所有情报的价值都是递增的,他可以泄露任意 2 条情报。在第二个样例中,盖黄没有选择,因为任意选择 2 条情报都不满足价值递增的要求。