#JX5006. 两个点

两个点

题目描述

在某个地方,有一个洞穴。

洞穴中有 NN 个房间和 MM 条通道,房间编号从 11NN,通道编号从 11MM。通道 ii 连接着房间 AiA_i 和房间 BiB_i,可以双向通行。任何两个房间之间都可以通过一些通道来往。房间 11 是一个特殊的房间,那里有洞穴的入口。

因为洞穴内部光线较暗,所以决定在房间1以外的每个房间都设置一个道标。每个房间的道标都会直接指向与该房间通过通道直接相连的一个房间。

由于洞穴内部很危险,对于房间 11 以外的任何房间,目标都是满足以下条件:

从那个房间出发,反复进行"查看当前房间的道标,然后移动到它指向的房间"的操作,可以以最少的移动次数到达房间 11

请判断是否存在可以达成目标的道标配置,如果存在,请输出一种这样的配置。

输入格式

第一行两个数 N,M(1N105,1M2×105)N,M(1\le N\le 10^5,1\le M\le 2\times 10^5)

往后 MM 行,每行代表洞穴里面的一条通道的两端。

保证图连通,没有自环,但可能有重边。

输出格式

若无解输出 NO

否则第一行需要输出 YES,接下来 n1n-1 行中,第 ii 行表示房间 ii 的道标。方案可能有很多,随便输出一种即可。

4 4
1 2
2 3
3 4
4 2
Yes
1
2
2
6 9
3 4
6 1
2 4
5 3
4 6
1 5
6 2
4 5
5 6
Yes
6
5
5
1
1