from collections import deque n, m = map(int, input().split()) edges = [[] for _ in range(n)] for _ in range(m): a, b = map(int, input().split()) a -= 1 b -= 1 edges[a].append(b) edges[b].append(a) if edges[0] == []: for _ in range(n): print(0) exit() dist = [-1] * n dist[0] = 0 queue = deque() queue.append(0) while queue: v = queue.popleft() for nv in edges[v]: if dist[nv] == -1: dist[nv] = dist[v] + 1 queue.append(nv) ans = [0] * n ans[1] = 1 for d in dist: if d >= 1: ans[d - 1] += 1 for i in range(2, n): ans[i] += ans[i - 2] print(*ans, sep="\n")