CSES - Coin Combinations I
  • Time limit: 1.00 s
  • Memory limit: 512 MB

Consider a money system consisting of nn coins. Each coin has a positive integer value. Your task is to calculate the number of distinct ways you can produce a money sum xx using the available coins.

For example, if the coins are {2,3,5}\{2,3,5\} and the desired sum is 99, there are 88 ways:

  • 2+2+52+2+5
  • 2+5+22+5+2
  • 5+2+25+2+2
  • 3+3+33+3+3
  • 2+2+2+32+2+2+3
  • 2+2+3+22+2+3+2
  • 2+3+2+22+3+2+2
  • 3+2+2+23+2+2+2

Input

The first input line has two integers nn and xx: the number of coins and the desired sum of money.

The second line has nn distinct integers c1,c2,,cnc_1,c_2,\dots,c_n: the value of each coin.

Output

Print one integer: the number of ways modulo 109+710^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:

8