from collections import deque,Counter INF=float("inf") n,m=map(int,input().split()) R=[[] for _ in range(n+1)] for _ in range(m): u,v=map(int,input().split()) R[u].append(v) R[v].append(u) if len(R[1])==0: for _ in range(n): print(0) exit() que=deque() que.append(1) F=[INF]*(n+1) F[1]=0 while que: c=que.popleft() for i in R[c]: if F[c]+1<F[i]: F[i]=F[c]+1 que.append(i) C=Counter(F) Ans=[[],[]] for i in range(n+1): if len(Ans[i%2])==0: Ans[i % 2].append(C[i]) else: Ans[i % 2].append(C[i]+Ans[i%2][-1]) for i in range(1,n+1): print(Ans[i%2][i//2])