设数组中的最小值为 mn。
取模操作有一个重要性质:若当前值为 y,对 b 取模后:
笨蛋同学拿到了一个正整数数组 a,以及一个初始数字x。她准备进行一次 “取模仪式”: 她可以把数组 a重新排列成任意一个排列 b1,b2,…,bn(即把所有元素按某种顺序依次使用一次),然后从 y0=x 开始,按顺序执行: yi=yi−1modbi(1≤i≤n)其中 mod 表示取模运算。仪式结束后得到最终结果 yn。 现在她希望最终结果尽可能大。请你输出所有排列 b 中可能得到的最大 yn。
每个测试文件均包含多组测试数据。
第一行输入一个整数
T (1≤T≤2×105)
代表数据组数,每组测试数据描述如下:
保证单个测试文件中所有测试数据的n 之和不超过 5×103。
对于每组测试数据,输出一行一个整数,表示可能得到的最大 yn。
输入
2
3 20
5 6 8
5 37
7 13 6 10 4
输出
4
3
说明
第一组:取排列 (8,6,5):20mod8=4,之后对 6,5 取模不会改变结果,最终得到 4,这是最大值。
第二组:通过最优排列,最终可以得到的最大值为 3。