PJSK 的虚拟世界有若干个地点,这些地点通过一些道路形成了树形结构。你的目标,就是找到这个世界的“Miku”点。 一共有 个地点,它们由 条长度为 的双向道路连成了一棵无根树结构。其中,如果一个地点只延伸出了一条道路,那么这个地点将称为 Sekai 点。 Miku 点的定义如下: Miku 点一定不是 Sekai 点。 Miku 点是符合上一个条件的所有地点中,与相距最近的 Sekai 点距离最大的点。 根据以上信息,请你找出所有的 Miku 点吧!
输入描述:
    每个测试文件均包含多组测试数据。第一行输入一个整数  代表数据组数,每组测试数据描述如下:    第一行,输入一个正整数 ,表示地点数。    接下来 行,每行输入两个整数 代表一条双向道路。    对于同一个测试点,保证所有 之和不超过 。


输出描述:
    对于每组数据,第一行输出 Miku 点的个数,第二行按从小到大顺序所有 Miku 点的编号。
示例1

输入

2
4
1 2
2 3
3 4
10
2 1
3 2
4 3
5 4
6 3
7 5
8 7
9 5
10 2

输出

2
2 3
1
4

说明

    对于第一组样例,可以得知这棵树为 1\leftrightarrow2 \leftrightarrow 3 \leftrightarrow 4,其中 1,4 号点只延伸出了一条道路,所以它们是 Sekai 点。显然对于 2,3 号点,都只需要经过一条边,就可以到达 其中一个 Sekai 点,所以它们都是 Miku 点。
    对于第二组样例:
    观察这个图,可以发现除了 4 号点以外,其余要么是 Sekai 点,要么距离最近的 Sekai 点是 1。而距离 4 号点最近的 Sekai 点是 69 号点,距离为 2,所以输出 4 号点。
加载中...