#CF2018A. 卡牌分组

卡牌分组

A. 卡牌分组

每个测试的时间限制22
内存限制256256 兆字节

题目描述

你有一些卡牌,每张卡牌上写着一个介于 11nn 之间的整数。具体来说,对于每个 ii11nn,你有 aia_i 张写有数字 ii 的卡牌。

此外,有一家商店,其中每种数字的卡牌数量是无限的。你有 kk 枚硬币,因此你最多可以购买 kk 张新卡牌,并且你购买的卡牌可以是 11nn 之间的任意整数。

购买新卡牌后,你必须将所有卡牌按照以下规则分组成若干“套牌”:

  • 所有套牌的大小必须相同;
  • 同一套牌中不能出现两张数字相同的卡牌。

你需要求出在最优购买卡牌和最优分组方案下,套牌的最大可能大小。

输入格式

每个测试点包含多个测试用例。第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含两个整数 nnkk1n21051 \le n \le 2 \cdot 10^50k10160 \le k \le 10^{16}),分别表示不同卡牌数字的种类数和你的硬币数。

每个测试用例的第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n0ai10100 \le a_i \le 10^{10}ai1\sum a_i \ge 1),表示初始时你拥有的数字 ii 的卡牌数量。

保证所有测试用例的 nn 之和不超过 21052 \cdot 10^5

输出格式

对于每个测试用例,输出一个整数:在最优操作下,套牌的最大可能大小。

示例

输入

9
3 1
3 2 2
5 4
2 6 1 2 4
2 100
1410065408 10000000000
10 8
7 4 6 6 9 3 10 2 8 7
2 12
2 2
2 70
0 1
1 0
1
3 0
2 1 2
3 1
0 3 3

输出

2
3
1
7
2
2
1
1
2

样例解释

  • 在第一个测试用例中,你可以购买 11 张数字为 11 的卡牌,此时你的卡牌变为 [1,1,1,1,2,2,3,3][1,1,1,1,2,2,3,3]。你可以将它们分成 [1,2],[1,2],[1,3],[1,3][1,2],[1,2],[1,3],[1,3] 四副套牌:每副大小都是 22,且每副内的数字互不相同。可以证明无法得到大小大于 22 的套牌,因此答案是 22

  • 在第二个测试用例中,你可以购买 22 张数字为 11 的卡牌和 11 张数字为 33 的卡牌,此时你的卡牌变为 [1,1,1,1,2,2,2,2,2,2,3,3,4,4,5,5,5,5][1,1,1,1,2,2,2,2,2,2,3,3,4,4,5,5,5,5],可以分成 [1,2,3],[1,2,4],[1,2,5],[1,2,5],[2,3,5],[2,4,5][1,2,3],[1,2,4],[1,2,5],[1,2,5],[2,3,5],[2,4,5] 六副套牌。可以证明无法得到大小大于 33 的套牌,因此答案是 33