#include //#include using ll = long long; const int MOD = 1000000007; const int Mod = 998244353; const int MAX = 1000000005; const long long INF = 1000000000000000005LL; using namespace std; //using namespace atcoder; int main() { ios::sync_with_stdio(0); cin.tie(); int N, M; cin >> N >> M; vector> G(N); for (int i = 0; i < M; i++) { int u, v; cin >> u >> v; u--; v--; G[u].push_back(v); G[v].push_back(u); } vector dist(N, -1); dist[0] = 0; queue que; que.push(0); while (que.size()) { int v = que.front(); que.pop(); for (int& nv : G[v]) { if (dist[nv] != -1) continue; dist[nv] = dist[v] + 1; que.push(nv); } } vector cnt(N+1); for (int i = 0; i < N; i++) { if (dist[i] == -1) continue; cnt[dist[i]]++; } vector tot(2); tot[1] = 1; for (int i = 0; i < N; i++) { tot[i%2] += cnt[i+1]; cout << tot[i%2] << endl; } }