There are n sorted values a_{1}……a_{n}, you are asked to combine them to one, you are allowed to combine at most k values to one each time, and the cost of one combination is the sum of all values that you combine, the cost are not allowed to be more than m, you are asked to find the minimum k.

The first line will be an integer T, which is the number of test cases. (1 <= T <= 10). For each test case, the first line will be two integer n(1 <= n <= 10^{5}) and m( <= m <= 10^{18}), n is the number of values, m is the limit of cost, the second line will be n integers, a_{1}……a_{n}(1 <= a_{i} <= 1.2*10^{9}). We promise that a_{i} >= a_{i-1} (2 <= i <= n)

For each test output the minimum k.