CSES - Meet in the Middle
  • Time limit: 1.00 s
  • Memory limit: 512 MB
You are given an array of $n$ numbers. In how many ways can you choose a subset of the numbers with sum $x$?

Input

The first input line has two numbers $n$ and $x$: the array size and the required sum.

The second line has $n$ integers $t_1,t_2,\dots,t_n$: the numbers in the array.

Output

Print the number of ways you can create the sum $x$.

Constraints
  • $1 \le n \le 40$
  • $1 \le x \le 10^9$
  • $1 \le t_i \le 10^9$
Example

Input:
4 5
1 2 3 2


Output:
3