#9869. 生命之树

生命之树

题目描述

海蒂厌倦了解密生命之树中隐藏的预言,决定返回总部休息一会儿,然后在那里尝试。当然,她不能连树都连根拔起带走,所以她在一张纸上画了一棵树的图。想了一想,她又画了更多相同的图,一共有 nn 张(其中 nn 是生命之树的顶点数)——谁知道会发生什么事呢?

果然,在回去的路上,海蒂遭到了一群僵尸的伏击。虽然她设法击退了它们,但它们以一种奇特的方式损坏了她的图画:从第 ii 张复制品开始,移除了编号为 ii 的顶点,以及所有相邻的边。在每张图片中,僵尸们还抹去了所有顶点编号,并重新用编号 11nn 的数字任意重新标记了剩下的 n1n-1 个顶点(幸运的是,每个顶点仍然有一个不同的编号)。更重要的是,这些图画已经被任意地洗牌/重新排序了。

现在海蒂想从她对所有图画的描述(边的列表)中恢复生命之树。

输入格式

输入的第一行包含 ZZ 个测试用例的数量。接下来是 ZZ 个单独测试用例的描述。

在每个测试用例中,输入的第一行包含数字 nnkk(其中 kk 是图画的数量;我们有 k=nk=n)。在接下来的行中,给出了 kk个图画的描述。第 ii个图画的描述是包含 mim_i 的一行,表示这个图画中边的数量,接着是 mim_i 行描述边,每行包含两个用空格分隔的整数,表示边连接的两个顶点的编号。

输出格式

如果海蒂的图画不可能来自一棵树,你应该输出单词 NO。否则,输出一行包含单词 YESn1n-1行 描述海蒂的图画可能来自的任何一棵树。对于每条边,你应该输出它连接的顶点的编号,用单个空格分隔开。如果有多个解决方案,打印其中任意一个。

1
5 5
2
4 1
2 1
1
3 1
3
4 1
4 3
2 1
3
3 1
3 2
4 1
3
2 1
3 2
4 2
YES
2 5
4 2
3 2
5 1

样例分析

如上所述。

数据范围与提示

对于 100%100\% 的数据: Z20Z \le 202n1002 \le n \le 100