#CF1965D. 缺失的子数组和

缺失的子数组和

缺失的子数组和

单个测试用例时间限制55内存限制256256 兆字节

有一个长度为 nn隐藏正整数数组 aa,且已知 aa 是一个回文数组,即对所有 1in1\le i\le n,满足 ai=an+1ia_i=a_{n+1-i}

给定该数组除某一个子数组和以外的所有不同子数组和(顺序任意)。缺失的那个和可以是该数组共 n(n+1)2\dfrac{n(n+1)}{2} 个子数组和中的任意一个。

请还原出任意一个满足条件的回文数组 aa。题目保证输入至少存在一个合法解。

如果数组 bb 可以通过删除 aa 开头若干个(可以是 00 个)元素以及删除 aa 末尾若干个(可以是 00 个)元素得到,则 bbaa 的子数组。


输入格式

第一行输入一个整数 tt1t2001\le t\le 200),表示测试用例数量。

每个测试用例的格式如下:

  • 第一行包含一个整数 nn3n10003\le n\le 1000),表示隐藏数组的长度。
  • 第二行包含 n(n+1)21\dfrac{n(n+1)}{2}-1 个整数 sis_i1si1091\le s_i\le 10^9),表示缺失了一个和的全部子数组和。

保证所有测试用例的 nn 之和不超过 10001000

额外输入限制:输入数据保证至少存在一个合法解。

本题不允许 hack。


输出格式

对于每个测试用例,输出一行 nn 个正整数 a1,a2,,ana_1,a_2,\dots,a_n,表示任意一个合法的回文数组。

如果有多个解,输出任意一个即可。


样例输入

7
3
1 2 3 4 1
4
18 2 11 9 7 11 7 2 9
4
5 10 5 16 3 3 13 8 8
4
8 10 4 6 4 20 14 14 6
5
1 2 3 4 5 4 3 2 1 1 2 3 2 1
5
1 1 2 2 2 3 3 3 3 4 5 5 6 8
3
500000000 1000000000 500000000 500000000 1000000000

样例输出

1 2 1 
7 2 2 7 
3 5 5 3 
6 4 4 6 
1 1 1 1 1 
2 1 2 1 2 
500000000 500000000 500000000 

样例说明

第一个样例中,数组 a=[1,2,1]a=[1,2,1] 的所有子数组为:

  • [1][1],和为 11
  • [2][2],和为 22
  • [1][1],和为 11
  • [1,2][1,2],和为 33
  • [2,1][2,1],和为 33
  • [1,2,1][1,2,1],和为 44

因此完整的子数组和列表为 1,1,2,3,3,41,1,2,3,3,4,输入中缺失的和为 33

第二个样例中,缺失的子数组和为 44,对应子数组 [2,2][2,2]

第三个样例中,缺失的和为 1313,因为有两个子数组和为 1313[3,5,5][3,5,5][5,5,3][5,5,3]),但输入中 1313 只出现了一次。