C. Liar
time limit per test
1 second
memory limit per test
1024 megabytes
input
standard input
output
standard output

There are $$$n$$$ players in a game. Each player is allocated an integer number, which may differ between players, and the total sum of these numbers is $$$s$$$.

The $$$i$$$-th player claims that the number allocated to him is $$$a_i$$$, though this claim may not be true. How many of them could be telling the truth at most?

Input

The first line contains two integers $$$n, s$$$ ($$$1 \le n \le 10^5, -10^9 \le s \le 10^9$$$).

The second line contains $$$n$$$ integers $$$a_1, a_2, \ldots, a_n$$$ ($$$-10^4 \le a_i \le 10^4$$$), representing the numbers that the players claim to have been allocated.

Output

Output a single integer representing the maximum number of players who could be telling the truth.

Examples
Input
3 3
1 2 3
Output
2
Input
4 -2
3 -10 2 3
Output
4
Note

In the first example, if the numbers allocated to the players are $$$1, 2, 0$$$, then the first player and the second player are telling the truth. It can be shown that under no circumstances could more than $$$2$$$ players be telling the truth.

In the second example, if the numbers allocated to the players are $$$3, -10, 2, 3$$$, then all the players are telling the truth. It can be shown that under no circumstances could more than $$$4$$$ players be telling the truth.