7750: I_2

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

题目描述

FQn个气球,排成一排,顺次分别标号1nFQ要用m种颜色对它们染色,但是不希望有任何两个标号相邻的气球颜色是一样的。

聪明的ZQ马上意识到,FQ一共有m(m-1)n-1种不同的染色方法。但是ZQ发现有些方案颜色太繁杂,导致美观程度不足,为此ZQ给出了k个标号a1, a2, a3, ..., ak(1 ≤ ai ≤ n),并要求FQ给这k个标号对应的气球染的颜色是一样的。

于是现在FQ还有多少种染色方法?

输入

多组测试用例,输入第一行为测试用例数目T(T≤50)

每组测试样例的第一行是三个用一个空格分开的整数nmk之后一行包含k个用空格分开的整数a1, a2, a3, ..., ak

数据保证:(1) 1 ≤ n ≤ 1012 (2) 1 ≤ m ≤ 105 (3) 0 ≤ k ≤ 2000 (4) ai ≠ aj(i ≠ j)

输出

对于每组测试用例,输出一行包含一个整数,表示你的结果。由于答案可能很大,请输出结果对1000000007取模的余数。

样例输入 复制

1
5 2 3
1 3 5

样例输出 复制

2

提示

现有五个气球,共有两种颜色,1,3,5号气球必须涂相同的颜色。分别用ab表示两种不同的颜色。那么染色方案数目就是ababababab两种。