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}$。