题目背景
yummy 为什么是云斗滴神?That's a good question!
题目描述
某天,yummy 给了你 n 个正整数 x1,x2,…,xn,第 i 个正整数满足约束 0≤xi≤ri。现在, 祂希望你能解决如下问题:
求有多少组本质不同的 {xn} 满足 x1⊕x2⊕…⊕xn 是 m 的倍数,其中 ⊕ 表示按位异或。
对于两组 {xn},{xn′},两者本质不同当且仅当 ∃k∈[1,n] 满足 xk=xk′。
输入格式
输入的第一行有两个正整数 n,m,表示正整数个数和异或值的要求。
第二行有 n 个正整数 r1,r2,…,rn,表示每个正整数的上限。
输出格式
输出一行一个自然数,表示符合题意的方案数。由于方案数可能过大,你需要将答案对 109+7 求余。
样例 #1
样例输入 #1
2 3
2 4
样例输出 #1
7
样例 #2,3,4,5
点我下载大样例
提示
【样例解释】
下列表格中 T 表示 x1⊕x2 是 3 的倍数,F 表示不是。
| x1\x2 | 
0 | 
1 | 
2 | 
3 | 
4 | 
| 0 | 
T | 
F | 
T | 
F | 
| 1 | 
F | 
T | 
F | 
| 2 | 
T | 
【数据范围】
| 测试点编号T | 
n≤ | 
ri≤ | 
特殊性质 | 
| 1 | 
109 | 
 | 
| 2 | 
2 | 
104 | 
| 3∼5 | 
109 | 
| 6∼14 | 
T | 
| 15∼16 | 
15 | 
m=16 | 
| 17 | 
=229−1 | 
 | 
| 18∼20 | 
109 | 
对于全体数据,保证 1≤n≤15,1≤ri≤109,1≤m≤20。