C. Extended Average
time limit per test
2 seconds
memory limit per test
1024 megabytes
input
standard input
output
standard output

If the length of a sequence $$$s$$$ is not less than $$$3$$$,we call $$$s$$$ a valid sequence.

For a valid sequence $$$s$$$,we define the extended average of $$$s$$$ as the average of the remaining numbers after removing one of the maximum value and one of the minimum value in $$$s$$$.

For example,$$$s=\{1,2,1,3,5,3\}$$$,the extended average of $$$s$$$ is $$$\frac{(1+2+3+3)}{4}=2.25$$$.

You're given a sequence $$$a$$$ of size $$$n$$$ and an integer $$$x$$$.Your task is to count the number of valid subsequence $$$b$$$ of $$$a$$$,that the extended average of $$$b$$$ is equal to $$$x$$$.

Since the answer may be very large,output it modulo $$$10^9+7$$$.

Input

The first line of contains two integers $$$n,x(1 \leq n,x \leq 100)$$$.

The second line contains $$$n$$$ integers $$$a_1,a_2,...,a_n(1 \leq a_i \leq 100)$$$.

Output

Output an integer — the number of valid subsequence $$$b$$$ of $$$a$$$,that the extended average of $$$b$$$ is equal to $$$x$$$(modulo $$$10^9+7$$$).

Examples
Input
5 3
5 4 3 2 1
Output
6
Input
6 6
6 6 6 6 6 6
Output
42
Input
16 8
15 3 15 16 5 13 16 13 15 6 14 6 1 3 11 14
Output
689
Note

Test case $$$1$$$:

The following are all subsequences meet the conditions:

$$$\{a_1,a_2,a_3,a_4,a_5\}$$$,$$$\{a_1,a_2,a_4,a_5\}$$$,$$$\{a_1,a_3,a_4\}$$$,$$$\{a_1,a_3,a_5\}$$$,$$$\{a_2,a_3,a_4\}$$$,$$$\{a_2,a_3,a_5\}$$$.

Test case $$$2$$$:

All subsequence with a length of no less than $$$3$$$ meet the conditions.