小苯面前有 个容量无限的水瓶,目前第 个瓶子目前装了 水量的水。他可以使用以下操作至多倒出 单位的水: 选择两个不同的水瓶 ,再将 瓶中任意正整数量的水倒入 瓶。(前提是倒出来的水不超过 瓶中还剩下的水。) (形式化的:选择任意正整数 ,执行:;其中 表示赋值操作,同时需要保证所有此操作中 的和不超过 。) 此外,小苯还有有一个装了 单位水量的水壶,他可以将水壶中的水倒进任意水瓶任意次,前提是倒入的水量也必须是正整数,同时总共不能倒出超过 单位水量。 小苯操作完后,会从所有水瓶中选择一瓶水量最小的水喝掉,他想知道他最多可以喝掉多少水,请你帮他算一算吧。
输入描述:
每个测试文件均包含多组测试数据。第一行输入一个整数  代表数据组数,每组测试数据描述如下:第一行输入三个正整数 ,分别表示水瓶的个数,可以互相之间倒水的总量,和额外的水壶中的水量。第二行 个正整数 ,表示每瓶水目前所装的水量。(保证同一个测试文件中的测试数据里 的总和不超过 。)


输出描述:
对于每组测试数据,在单独的一行输出一个整数表示答案,表示小苯喝掉的水的最大量。
示例1

输入

2
5 4 5
1 2 3 4 5
1 100 1
1

输出

4
2

说明

对于第一组测试数据,初始水瓶中的水量为 \{1,3,4,2,5\}
首先可以选择将水壶中的 5 单位水给 1 号水瓶倒入 3 单位,此时水量为:\{4,3,4,2,5\}
此时水壶还剩 2 单位,全部倒给 4 号水瓶,此时水量为:\{4,3,4,4,5\}
此时可以将 5 号水瓶中的水给 2 号水瓶倒入 1 单位,此时水量为 \{4,4,4,4,4\}
小苯会选择最少的一瓶喝掉,此时所有水瓶的水全都一样多,因此小苯就喝掉了 4 单位水。
加载中...