U140604 送花

题目背景

$Seaway$的老婆大人$Rose$要过生日啦!为了给老婆大人庆生,$Seaway$正打算给$Rose$送上一束盛开着的鲜花......

题目描述

认真起来的$Seaway$为了庄重地庆贺这个生日,大手一挥,买下了$N$个花箱。在编号为$i$的箱子里,有$f[i]$朵相同颜色的花。每个箱子里面的花的颜色两两不同。$Seaway$要从这些箱子里挑选$S$朵花扎成花束,送给老婆大人。$Seaway$当然可以随意挑选$S$朵花。但因为他一共买下了这么多花,如果只组一种花束未免浪费。但$Rose$也不喜欢一次性收到太多的花束。所以$Seaway$便开始思考:对于他买下的这些花,他有多少种挑选方式,使之能够组成$S$朵花的花束?$Seaway$规定,两种挑选方式不同,当且仅当存在同一种颜色的花数量不同。**由于答案可能很大,请输出答案对$10^9+7$取模的结果。**

输入格式

从文件$blossom.in$中读入数据。 第一行两个整数$N,S$,意义如题目描述所示。 第二行$N$个整数,第$i$个整数表示第$i$个花箱里的花的数量$f[i]$。

输出格式

输出到文件$blossom.out$中。 输出一行一个整数$ans$,表示总挑选方案数量按要求取模后的结果。

说明/提示

【**样例1解释**】 只有一种方案可以选出4朵花。 【**样例2解释**】 有三种方式可以选出5朵花: $[1,2,2],[0,3,2],[1,3,1]$。 【**数据范围**】 对于$10\%$的数据,$N=2,0\le S\le 10,0\le f[i]\le 10$。 对于$40\%$的数据,$N=10,0\le S\le 1000,0\le f[i]\le 10^6$。 对于$90\%$的数据,$N=20,0\le S,f[i]\le 10^9$。 对于全部数据,$N=20,0\le S\le 10^{14},0\le f[i]\le 10^{12}$。