n,m = [int(i) for i in input().split()]
g = [[] for i in range(n+1)]
for i in range(m):
    x,y = [int(i) for i in input().split()]
    g[x].append(y)
    g[y].append(x)

result = []
stack = [1]
visited = [False]*(n+1)
while len(stack)>0:
    v = stack.pop()
    if visited[v]: continue
    visited[v] = True
    result.append(v)
    for w in g[v]: stack.append(w)
print(*result)
