#P839. 不定方程

不定方程

题目描述

给定 nn 个整数 a1,a2,…,ana_1,a_2,\dots,a_n 作为上界,再给定一个整数 mm,请问方程

x1+x2+⋯+xn=mx_1+x_2+\dots+x_n=m

有多少种不同的整数解且满足 1≤xi≤ai1\leq x_i\leq a_i。由于解的数量可能很大,输出答案模 1,000,000,0071,000,000,007 的余数。

输入格式

  • 第一行:两个整数 nn 与 mm。
  • 第二行:nn 个整数 a1,a2,…,ana_1,a_2,\dots,a_n

输出格式

  • 单个整数表示答案
3 5
1 3 2
2

样例解释 1

1+2+2=5 1+3+1=5

3 5
2 2 2
3

样例解释 2

1+2+2=5 2+1+2=5 2+2+1=5

数据范围

  • 30%30\% 的数据,1≤n≤41\leq n\leq 4,1≤ai≤501\leq a_i\leq 50
  • 60%60\% 的数据,1≤n≤101\leq n\leq 10,1≤ai≤200001\leq a_i\leq 20000
  • 100%100\% 的数据,1≤n≤201\leq n\leq 20,1≤ai≤1,000,0001\leq a_i\leq 1,000,000
  • 1≤m≤1,000,000,0001\leq m\leq 1,000,000,000