Home => ProblemSet => 2.12-114:[POI2016] Nim z utrudnieniem
Problem2114--2.12-114:[POI2016] Nim z utrudnieniem

2114: 2.12-114:[POI2016] Nim z utrudnieniem

Time Limit: 1 Sec  Memory Limit: 128 MB  Submit: 0  Solved: 1
[ Submit ] [ Status ] [ Creator: ][ 参考程序 ]

Description

A 和 B 两个人玩游戏,一共有 m 颗石子,A 把它们分成了 n 堆,每堆石子数分别为 a1,a2,...,an,每轮可以选择一堆石子,取掉任意颗石子,但不能不取。谁先不能操作,谁就输了。
在游戏开始前,B 可以扔掉若干堆石子,但是必须保证扔掉的堆数是 d 的倍数,且不能扔掉所有石子。
A 先手,请问 B 有多少种扔的方式,使得 B 能够获胜。

Input

第一行包含两个正整数 n,d。
第二行包含 n 个正整数 a1,a2,...,an。

Output

输出一行一个整数,即方案数对 109+7 取模的结果。

Sample Input Copy

5 2
1 3 4 1 2

Sample Output Copy

2

HINT

对于 100% 的数据,1≤n≤5×105,1≤d≤10,1≤ai≤106,m 不直接给出,但数据保证 1≤m≤107

Source/Category