N,M=map(int,input().split())
G=[[]for _ in range(N)]
for _ in range(M):
    u,v=map(int,input().split())
    u-=1;v-=1
    G[u].append(v)
    G[v].append(u)
Bcnt=[]
W=set()
B=set()
R=set()
B.add(0)
for i in range(1,N):
    W.add(i)
for i in range(N):
    tmp=set()
    for u in W:
        for v in G[u]:
            if v in B:
                tmp.add(u);R.add(u);break
    W-=tmp
    W|=B
    B.clear()
    B|=R
    R.clear()
    print(len(B))
    if len(B)==1 and 0 in B:
        break
    else:
        Bcnt.append(len(B))
for j in range(N-(i+1)):
    print(Bcnt[j%len(Bcnt)])