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])