NULL_SF 和 Gouk_ 发现了三个数字 , 和 ()。他们决定构造一个长度为 的排列 。
对于该排列,Gouk_ 提出了以下函数: 是该排列中长度为 的前缀上不大于 的所有数字的和。类似地,NULL_SF 提出了函数 ,其中 是长度为 的前缀上不小于 的所有数字的和。长度为 的前缀是由原始数组的前 个元素组成的子数组。
例如,如果 , , ,排列为 ,则:
前缀 | 不小于 k = 4 的值 | f | 不大于 m = 5 的值 | g |
---|---|---|---|---|
[4] | [4] | 4 | 无 | 0 |
[4, 5] | [4, 5] | 4 + 5 = 9 | 无 | 0 |
[4, 5, 3] | [4, 5] | 4 + 5 = 9 | 无 | 0 |
[4, 5, 3, 2] | [4, 5] | 4 + 5 = 9 | [2] | 2 |
[4, 5, 3, 2, 1] | [4, 5] | 4 + 5 = 9 | [1, 2] | 1 + 2 = 3 |
帮助他们找到一个使 值最大化的排列。
长度为 的排列是由 个从 到 的任意顺序的不同整数组成的数组。例如, 是一个排列,但 不是一个排列(因为 在数组中出现了两次), 也不是一个排列(因为 ,但 出现在数组中)。
输入
第一行包含一个整数 ——测试用例数。
每个案例的唯一一行包含三个整数 ——要构建的排列的大小和两个整数。
保证所有测试用例中 的总和不超过 。
输出
对于每个测试用例,输出排列组合,即满足问题条件的一组数字。如果有多个解决方案,你可以输出其中任何一个。
样例
标准输入 复制文本 |
3 5 2 5 3 1 3 10 3 8 |
标准输出 复制文本 |
5 4 3 1 2 3 2 1 10 9 8 7 6 5 4 1 2 3 |