题号:NC219675
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld
题目描述
小凡现在想要出一道树论的题目。但是由于他不会出数据,他就让楚天帮忙出一下数据。
楚天构造了一颗树,这个树有

个节点,它的边权值构成一个长度为

的排列。排列是指

中的每个整数出现且仅出现一次。
但是楚天不想让小凡这么轻易的得到数据,他给小凡的是树结点之间的最短路径长度。
小凡希望你帮他把数据恢复成原来的样子。
输入描述:
第一行一个正整数
)
表示测试组数。
接下来

组,每组第一行一个正整数
)
表示树的结点数。
接下来

行每行

个数

表示

结点到

结点的最短路径长度,保证

,且数据合法。
输出描述:
对于每组输出

行,每行三个整数

。
示例1
输入
复制
2
3
0 1 2
1 0 3
2 3 0
6
0 3 4 8 5 4
3 0 7 5 2 1
4 7 0 12 9 8
8 5 12 0 7 6
5 2 9 7 0 3
4 1 8 6 3 0
输出
复制
1 2 1
1 3 2
1 2 3
2 6 1
5 2 2
3 1 4
2 4 5