3639: 出题

内存限制:512 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:0 解决:

题目描述

Ryz 为了出一套模拟题,去网上找了 n 道原题作参考。这 n 道题有一些共同点,它们
同时都用到了 m 种知识,不过它们对这些知识的要求程度可能不同。对于某一道题而言,
它对第 i 种知识的要求程度是一个 1 到 u[i]之间的一个整数,如果一个人对每种知识的掌握
程度都大于等于这道题的要求程度,那么他就可以顺利地做出这道题(一个人对于一种知识
的掌握程度也是 1 到 u[i]之间的一个整数)。否则他就只能打暴力了。 Ryz 参考了这些题之
后,出了一道新题。这道新题对于每种知识的要求程度都是 n 道原题对这种知识要求程度
的中位数。

现在猥琐的 Qdc 翻看了 Ryz 电脑浏览器的历史记录,虽然他无法准确估计自己的水平
和那些题目的难度,但是至少他知道这 n 道题中前 k 道是他会做的(其他 n-k 道他不会做)。
他想知道他有多少种情况能做出 ryz 出的那道新题。

两种情况不相同当且仅当 Qdc 对某一种知识的掌握情况不同或者某一道题对某一种知识的
要求程度不同。

这里作一个说明, “这道新题对于每种知识的要求程度都是 n 道原题对这种知识要求程
度的中位数”这句话的意思是,当且仅当 Qdc 的对于某种知识的掌握程度大于等于任意
n/2(向上取整)道题对这种知识的要求程度, Qdc 对这种知识的掌握程度会超过 Ryz 出的新
题对这种知识的要求程度。

输入

多组数据

第一行一个整数 T 表示数据组数。

一组数据包含 2 行,第一行三个整数表示 m,n,k。

第二行 m 个整数表示 u[i]。

输出

对于每组数据输出一行答案。由于写高精度实在太烦了,你只要输出答案 mod
1000000007 的值就可以了

样例输入 复制

3
2 2 0
2 3
2 3 1
4 5
3 5 1
2 3 2

样例输出 复制

8
6000
51840

提示