There is a cave.  The cave has N rooms and M passages. The rooms are numbered 1 to N, and the passages are numbered 1 to M. Passage i connects Room A_i and Room B_i bidirectionally. One can travel between any two rooms by traversing passages. Room 1 is a special room with an entrance from the outside.  It is dark in the cave, so we have decided to place a signpost in each room except Room 1. The signpost in each room will point to one of the rooms directly connected to that room with a passage.  Since it is dangerous in the cave, our objective is to satisfy the condition below for each room except Room 1.    * If you start in that room and repeatedly move to the room indicated by the signpost in the room you are in, you will reach Room 1 after traversing the minimum number of passages possible.  Determine whether there is a way to place signposts satisfying our objective, and print one such way if it exists.
print("No")
from collections import deque
n, m = map(int, input().split())


G = [[] for i in range(n)]

for i in range(m):
    a, b = map(int, input().split())
    a -= 1
    b -= 1
    G[a].append(b)
    G[b].append(a)


dist = [-1] * n
dist[0] = 0

pre = [-1] * n


q = deque()
q.append(0)

while len(q) != 0:
    V = q.popleft()
    for v in G[V]:
        if pre[v] == -1:
            dist[v] = dist[V] + 1
            pre[v] = V
            q.append(v)

print("Yes")
for i in range(1, n):
    print(pre[i] + 1)