from collections import deque N, M = map(int, input().split()) G = [[] for _ in range(N)] for _ in range(M): u, v = [int(x) - 1 for x in input().split()] G[u].append(v) G[v].append(u) que = deque([0]) dist = [-1] * N dist[0] = 0 while que: u = que.popleft() for v in G[u]: if dist[v] == -1: dist[v] = dist[u] + 1 que.append(v) if sum(dist[i] != -1 for i in range(N)) == 1: for i in range(N): print(0) exit() sm = [[0, 0] for _ in range(N + 1)] for i in range(N): if dist[i] != -1: sm[dist[i]][dist[i] % 2] += 1 for i in range(1, N + 1): for j in range(2): sm[i][j] += sm[i - 1][j] for i in range(1, N + 1): print(sm[i][i % 2])