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?
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 a single integer representing the maximum number of players who could be telling the truth.
3 31 2 3
2
4 -23 -10 2 3
4
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.
| Name |
|---|


