#CF451E. Devu 与花

Devu 与花

E. Devu 与花

  • 每个测试的时间限制:4 秒
  • 内存限制:256 MB

Devu 想用花来装饰他的花园。他购买了 nn 个盒子,其中第 ii 个盒子里有 fif_i 朵花。
一个盒子里的所有花颜色相同(因此它们是不可区分的)。此外,任意两个盒子的花颜色不同。

现在 Devu 想从这些盒子中恰好选出 ss 朵花来装饰花园。
Devu 想知道,从每个盒子中选花的方式一共有多少种?
由于这个数字可能非常大,请你求出它对 (109+7)(10^9 + 7) 取模的结果。

Devu 认为两种方案不同,当且仅当存在至少一个盒子,在这两种方案中从该盒子选出的花数量不同。


输入格式

第一行包含两个用空格分隔的整数 nnss1n201 \le n \le 200s10140 \le s \le 10^{14})。

第二行包含 nn 个用空格分隔的整数 f1,f2,,fnf_1, f_2, \dots, f_n0fi10120 \le f_i \le 10^{12})。


输出格式

输出一个整数 — 选花方式的总数,对 109+710^9 + 7 取模。


输入输出样例

样例 1

输入:

2 3
1 3

输出:

2

样例 2

输入:

2 4
2 2

输出:

1

样例 3

输入:

3 5
1 3 2

输出:

3

样例解释

  • 样例 1
    33 朵花的方式有 2 种:
    {1,2}\{1, 2\}(从第 1 个盒子选 1 朵,第 2 个盒子选 2 朵)
    {0,3}\{0, 3\}(从第 1 个盒子选 0 朵,第 2 个盒子选 3 朵)

  • 样例 2
    44 朵花的方式只有 1 种:
    {2,2}\{2, 2\}

  • 样例 3
    55 朵花的方式有 3 种:
    {1,2,2}\{1, 2, 2\}{0,3,2}\{0, 3, 2\}{1,3,1}\{1, 3, 1\}