#5790. CSES1636 硬币组合 II

0

CSES1636 硬币组合 II

Coin Combinations II

Consider a money system consisting of n coins. Each coin has a positive integer value. Your task is to calculate the number of distinct ordered ways you can produce a money sum x using the available coins. For example, if the coins are {2,3,5} and the desired sum is 9, there are 3 ways:

2+2+5

3+3+3

2+2+2+3

Input

The first input line has two integers n and x: the number of coins and the desired sum of money. The second line has n distinct integers c_1,c_2,\dots,c_n: the value of each coin.

Output

Print one integer: the number of ways modulo 10^9+7.

Constraints

1n1001 \le n \le 100

1x1061 \le x \le 10^6

1ci1061 \le c_i \le 10^6

Example

Input

3 9
2 3 5

Output

3