#P15723. 山路搜捕计划

山路搜捕计划

题目描述

电影剧组在伯明翰拍摄时,主演的车被人偷走了。你作为临时接手案件的警长,需要在乡间路网中设计一套必定能抓住偷车贼的搜捕计划。

乡间共有 nn 个城镇,城镇之间的公路构成一棵树。也就是说,共有 n1n-1 条双向道路,并且任意两个城镇之间都存在唯一一条简单路径。

每天白天,你可以选择两个城镇 A,BA,B,它们可以相同。随后警队会检查从 AABB 的简单路径上的所有城镇,包括 AABB 本身。如果偷车贼在这些城镇中的任意一个,他就会被抓住。

如果当天没有抓住他,那么到了夜里,他可以沿一条道路移动到相邻城镇,也可以停留在原城镇不动。

设这棵树的叶子数量为 mm,其中叶子指度数为 11 的城镇。你需要给出一个长度恰好为

m2+1\left\lfloor\frac m2\right\rfloor+1

天的搜捕计划,使得无论偷车贼最初在哪个城镇、每晚如何移动,最终都一定会被抓住。

请为每个测试用例输出这样一份计划。可以证明,在本题限制下一定存在答案。

输入格式

第一行包含一个整数 TT,表示测试用例数量。

每个测试用例的第一行包含一个整数 nn,表示城镇数量。

接下来 n1n-1 行,每行包含两个整数 u,vu,v,表示城镇 uuvv 之间有一条双向道路。

输出格式

对于每个测试用例,设该树有 mm 个叶子。你需要输出恰好

m2+1\left\lfloor\frac m2\right\rfloor+1

行,每行包含两个整数 A,BA,B,表示某一天检查路径 AABB

如果你确信更少的操作已经足以抓住偷车贼,也仍然需要补足行数;多余的行可以输出任意合法路径。

数据范围

  • 1T1001\le T\le 100
  • 2n21052\le n\le 2\cdot 10^5
  • 输入保证每个测试用例给出的图是一棵树;
  • 所有测试用例的 nn 之和不超过 21052\cdot 10^5

样例 1

输入

4
5
1 2
1 3
1 4
1 5
4
1 2
2 3
3 4
5
1 2
1 3
2 4
2 5
6
1 2
2 3
2 4
4 5
4 6

输出

1 2
1 3
4 5
1 3
2 4
2 3
4 5
1 3
2 4
5 6

解释

这些路径按测试用例依次给出。若为了阅读在答案之间加入分隔空行,实际提交时不应输出这些空行。