(n, m), passed, visited, stack, res, curr, dist = map(int, input().split()), set(), set(), [], [], 1, 0

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

while True:
    edges[curr] = [neigh for neigh in edges[curr] if neigh not in passed]
    if curr not in visited and (dist == 3 or not edges[curr]):
        res.append(curr)
        visited.add(curr)
        dist = 0
        if len(res) >= n: break
    passed.add(curr)
    if edges[curr]: stack.append(curr)
    curr = edges[curr].pop() if edges[curr] else stack.pop()
    dist += 1

print(*res)
