题目描述
小豆喜欢玩游戏,现在他在玩一个游戏遇到这样的场面,每个怪的血量为 $a_i$ ,且每个怪物血量均不相同, 小豆手里有无限张“亵渎”。
亵渎的效果是对所有的怪造成 $1$ 点伤害,如果有怪死亡,则再次施放该法术。我们认为血量为 $0$ 的怪物死亡。
小豆使用一张“亵渎”会获得一定的分数,分数计算如下,在使用一张“亵渎”之后,每一个被亵渎造成伤害的怪会产生 $x^k$ ,其中 $x$ 是造成伤害前怪的血量为 $x$ 和需要杀死所有怪物所需的“亵渎”的张数 $k$ 。
输入格式
第一行输入一个 $T$ ,表示有多少组测试数据。
每组组测试数据第一行为 $n$ , $m$ ,表示有当前怪物最高的血量 $n$ ,和 $m$ 种没有出现的血量。
接下来 $m$ 行,每行 1 个数 $a_i$ ,表示场上没有血量为 $a_i$ 的怪物。
输出格式
一共 $T$ 行,每行一个数,第 $i$ 行表示第 $i$ 组测试数据中小豆的最后可以获得的分数,因为这个分数会很大需要模 $10^9 + 7$ 。
样例
input
2
10 1
5
4 2
1
2
output
415
135
数据范围与提示
对于 $10\%$ 的数据,有 $m = 0$ 。
对于 $20\%$ 的数据,有 $m \leq 1$ 。
对于 $30\%$ 的数据,有 $m \leq 2$ 。
对于 $40\%$ 的数据,有 $m \leq 3$ 。
对于 $50\%$ 的数据,有 $m \leq 4$ 。
对于 $60\%$ 的数据,有 $m \leq 5$ 。
对于 $100\%$ 的数据,有 $m \leq 50 , n \leq 10^{13}$ 。