CSES - Meet in the Middle
  • Time limit: 1.00 s
  • Memory limit: 512 MB

You are given an array of nn numbers. In how many ways can you choose a subset of the numbers with sum xx?

Input

The first input line has two numbers nn and xx: the array size and the required sum.

The second line has nn integers t1,t2,,tnt_1,t_2,\dots,t_n: the numbers in the array.

Output

Print the number of ways you can create the sum xx.

Constraints

  • 1n401 \le n \le 40
  • 1x1091 \le x \le 10^9
  • 1ti1091 \le t_i \le 10^9

Example

Input:

4 5
1 2 3 2

Output:

3