#P005760. 量子序列

量子序列

题目描述

小 A 是一位量子计算研究员,他正在配置一个由 nn 个量子比特组成的序列。

每个量子比特编号从 11nn,第 ii 个量子比特的能量值必须是 [0,ai][0, a_i] 之间的整数(含 00aia_i 两个值)。

他需要为每个量子比特配置一个能量值,从而实现量子纠缠的目标。要实现量子纠缠,每个量子比特的能量值,需要满足特殊性质要求:

  • 每个量子比特的能量值都必须是非负的整数
  • 任意相邻的两个量子比特的能量值必须一奇一偶
  • 整个序列的所有量子比特的能量值之和不超过 mm

请问会有多少种量子比特能量值的配置方案,能够实现量子纠缠的目标?

输入格式

第一行两个整数 n,mn, m

接下来一行 nn 个整数,即 a1ana_1 \sim a_n

输出格式

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

样例 #1

输入

3 6
6 6 6

输出

20

样例 #2

输入

3 6
3 3 3

输出

14

样例 #3

输入

6 30
8 7 6 8 5 7

输出

6439

样例说明

样例 11 有以下 2020 种方案: 0,1,02,1,04,1,00,3,02,3,00,5,01,0,13,0,15,0,11,2,13,2,11,4,10,1,22,1,20,3,21,0,33,0,31,2,30,1,41,0,5

样例 22 有以下 1414 种方案: 0,1,02,1,00,3,02,3,01,0,13,0,11,2,13,2,10,1,22,1,20,3,21,0,33,0,31,2,3

数据规模与约定

对于 100%100\% 的数据,1n61 \le n \le 60m1000 \le m \le 1000ai80 \le a_i \le 8

存在 30%30\% 的数据:保证 n=2n = 2

存在 30%30\% 的数据:保证 ai=1a_i = 1

存在 40%40\% 的数据:没有特殊限制。