Description
A 和 B 两个人玩游戏,一共有 m 颗石子,A 把它们分成了 n 堆,每堆石子数分别为 a1,a2,...,an,每轮可以选择一堆石子,取掉任意颗石子,但不能不取。谁先不能操作,谁就输了。
在游戏开始前,B 可以扔掉若干堆石子,但是必须保证扔掉的堆数是 d 的倍数,且不能扔掉所有石子。
A 先手,请问 B 有多少种扔的方式,使得 B 能够获胜。
Input
第一行包含两个正整数 n,d。
第二行包含 n 个正整数 a1,a2,...,an。
Output
输出一行一个整数,即方案数对 109+7 取模的结果。
HINT
对于 100% 的数据,1≤n≤5×105,1≤d≤10,1≤ai≤106,m 不直接给出,但数据保证 1≤m≤107。