#J1009. 随机???

随机???

题目描述

给你一个长度为 nn 的整数序列 a1ana_1\sim a_n,若某一个下标 ii 的值 ai=1a_i=-1,则你需要将这个位置的值改变为 0m0\sim m 之间的任意一个整数,若某一个位置的值不为 1-1,则你不能将它改变。
现在问你,有多少种改变方案,使得把所有初始值为 1-1 的位置的值改变完毕后序列所有数值之和为偶数?输出答案对 109+710^9+7 取模的结果。

输入格式

第一行两个整数 n,m(1n106,0m109)n,m(1\le n\le 10^6,0\le m\le 10^9)
第二行 nn 个整数 a1an(1aim)a_1\sim a_n(-1\le a_i\le m)

输出格式

一行一个整数,表示答案。

输入输出样例 #1

输入 #1

3 3
1 2 -1

输出 #1

2