题目描述
Venkatesh wants to gift his girlfriend with chocolates (he is very cheap, so he buys Gems). He has purchased n boxes, where the i-th box contains fi chocolates. All chocolates in a single box are of the same color (hence they are indistinguishable). Also, no two boxes have chocolates of the same color.
Now Venkatesh wants to select exactly s chocolates from the boxes to gift his girlfriend. Venkatesh would like to know, in how many different ways can he select the chocolates from each box? (He can obviously code it in seconds, but he wants you do it for him) Since this number may be very large, he asks you to find the number modulo (10^9+7).
Venkatesh considers two ways(cases) different if there is at least one box from which different number of chocolates are selected in these two ways.
Input
The first line of input contains two space-separated integers n and s (n in 1 to 20, s in 0 to 10^14).
The second line contains n space-separated integers f1,f2,... fn (fi in 0 to 10^12).
Output
Output a single integer — the number of ways in which Venkatesh can select the chocolates modulo (10^9+7).
Sample test(s)
Input
2 3
1 3
Output
2
Input
2 4
2 2
Output
1
Input
3 5
1 3 2
Output
3
Sample 1. There are two ways of selecting 3 chocolates: {1,2} and {0,3}.
Sample 2. There is only one way of selecting 4 chocolates: {2,2}.
Sample 3. There are three ways of selecting 5 chocolates: {1,2,2}, {0,3,2}, and {1,3,1}.
SAMPLE INPUT
2 3
1 3
SAMPLE OUTPUT
2
输入格式
见题面
输出格式
见题面