N, M = map(int,input().split()) INF = 1<<30 dp = [INF] * N dp[0] = 0 st = [0] G = [[] for _ in range(N)] ok = False for i in range(M): a, b = map(int,input().split()) G[a-1].append(b-1) a,b=b,a G[a-1].append(b-1) ok = ok or (a==0 or b==0) if not ok: print("0\n"*N) else: while st: nst = [] for v in st: for u in G[v]: if dp[u]==INF: dp[u]=dp[v]+1 nst.append(u) st = nst D = [0] * (N+1) for i in range(N): if dp[i] != INF: D[dp[i]] += 1 A = [0] * 2 A[0] = 1 for i in range(1, N + 1): if i % 2 == 1: A[1] += D[i] print(A[1]) else: A[0] += D[i] print(A[0])