#P1194F. Crossword Expert

    ID: 4345 Type: RemoteJudge 2000ms 256MiB Tried: 13 Accepted: 6 Difficulty: 9 Uploaded By: Tags>combinatoricsdpnumber theoryprobabilitiestwo pointers*2400

Crossword Expert

Description

Today Adilbek is taking his probability theory test. Unfortunately, when Adilbek arrived at the university, there had already been a long queue of students wanting to take the same test. Adilbek has estimated that he will be able to start the test only TT seconds after coming.

Fortunately, Adilbek can spend time without revising any boring theorems or formulas. He has an app on this smartphone which contains nn Japanese crosswords to solve. Adilbek has decided to solve them all one by one in the order they are listed in the app, without skipping any crossword. For each crossword, a number tit_i is given that represents the time it takes an average crossword expert to solve this crossword (the time is given in seconds).

Adilbek is a true crossword expert, but, unfortunately, he is sometimes unlucky in choosing the way to solve the crossword. So, it takes him either tit_i seconds or ti+1t_i + 1 seconds to solve the ii-th crossword, equiprobably (with probability 12\frac{1}{2} he solves the crossword in exactly tit_i seconds, and with probability 12\frac{1}{2} he has to spend an additional second to finish the crossword). All these events are independent.

After TT seconds pass (or after solving the last crossword, if he manages to do it in less than TT seconds), Adilbek closes the app (if he finishes some crossword at the same moment, that crossword is considered solved; otherwise Adilbek does not finish solving the current crossword at all). He thinks it would be an interesting probability theory problem to calculate EE — the expected number of crosswords he will be able to solve completely. Can you calculate it?

Recall that the expected value of a discrete random variable is the probability-weighted average of all possible values — in this problem it means that the expected value of the number of solved crosswords can be calculated as E=i=0nipiE = \sum \limits_{i = 0}^{n} i p_i, where pip_i is the probability that Adilbek will solve exactly ii crosswords.

We can represent EE as rational fraction PQ\frac{P}{Q} with Q>0Q > 0. To give the answer, you should print PQ1mod(109+7)P \cdot Q^{-1} \bmod (10^9 + 7).

The first line contains two integers nn and TT (1n21051 \le n \le 2 \cdot 10^5, 1T210141 \le T \le 2 \cdot 10^{14}) — the number of crosswords and the time Adilbek has to spend, respectively.

The second line contains nn integers t1,t2,,tnt_1, t_2, \dots, t_n (1ti1091 \le t_i \le 10^9), where tit_i is the time it takes a crossword expert to solve the ii-th crossword.

Note that Adilbek solves the crosswords in the order they are given in the input without skipping any of them.

Print one integer — the expected value of the number of crosswords Adilbek solves in TT seconds, expressed in the form of PQ1mod(109+7)P \cdot Q^{-1} \bmod (10^9 + 7).

Input

The first line contains two integers nn and TT (1n21051 \le n \le 2 \cdot 10^5, 1T210141 \le T \le 2 \cdot 10^{14}) — the number of crosswords and the time Adilbek has to spend, respectively.

The second line contains nn integers t1,t2,,tnt_1, t_2, \dots, t_n (1ti1091 \le t_i \le 10^9), where tit_i is the time it takes a crossword expert to solve the ii-th crossword.

Note that Adilbek solves the crosswords in the order they are given in the input without skipping any of them.

Output

Print one integer — the expected value of the number of crosswords Adilbek solves in TT seconds, expressed in the form of PQ1mod(109+7)P \cdot Q^{-1} \bmod (10^9 + 7).

Sample Input 1

3 5
2 2 2

Sample Output 1

750000007

Sample Input 2

3 5
2 1 2

Sample Output 2

125000003

Note

The answer for the first sample is equal to 148\frac{14}{8}.

The answer for the second sample is equal to 178\frac{17}{8}.