题目描述
称一对数组 a1∼n 和 b1∼m 合法,当且仅当满足以下条件:
- 对所有 i,j,有 ai,bj∈[0,2k−1];
- a 中元素两两不同,b 中元素两两不同;
- 对于 1≤i≤min(n,m),有 ai=bi;
- a 中所有数的异或和等于 b 中所有数的异或和。
请计算合法数组对 (a,b) 的数量,并对 109+7 取模。
输入格式
每个测试点包含多组数据。
第一行一个正整数 T,表示数据组数。
对于每组数据,输入一行三个正整数 n,m,k。
输出格式
对于每组数据,输出一行一个非负整数,表示答案。
样例 1 输入
8
1 1 1
1 1 2
1 2 1
1 2 2
2 1 1
2 1 2
2 2 1
2 2 2
样例 1 输出
0
0
1
9
1
9
2
36
样例 2
见下发文件。
数据范围与约定
对于全部测试数据,满足:
- 1≤T≤30;
- 1≤n,m≤106;
- 1≤k≤109。
| 测试点编号 |
T≤ |
n≤ |
m≤ |
k≤ |
其它条件 |
| 1∼2 |
4 |
3 |
4 |
无 |
| 3∼4 |
30 |
5 |
| 5∼6 |
100 |
1 |
8 |
| 7∼9 |
106 |
109 |
| 10 |
2 |
| 11∼13 |
7 |
| 14∼15 |
1000 |
n=m+1 |
| 16∼17 |
3 |
106 |
| 18 |
30 |
| 19∼20 |
1000 |
无 |
| 21∼23 |
3 |
106 |
| 24∼25 |
30 |