#include using namespace std; int main() { int n, m; cin >> n >> m; vector g(n, vector(0)); for (size_t i = 0; i < (size_t)m; i++) { int u, v; cin >> u >> v; --u; --v; g[u].push_back(v); g[v].push_back(u); } if (g[0].empty()) { for (size_t i = 0; i < (size_t)n; i++) { cout << "0\n"; } return 0; } vector d(n, (1 << 30)); d[0] = 0; deque q = {0}; while (!q.empty()) { int u = q.front(); q.pop_front(); for (auto v : g[u]) { if (d[v] > d[u] + 1) { d[v] = d[u] + 1; q.push_back(v); } } } vector cnt(n + 1, 0); for (auto x : d) if (x <= n) cnt[x]++; for (size_t i = 0; i <= (size_t)(n - 2); i++) cnt[i + 2] += cnt[i]; for (size_t i = 1; i <= (size_t)n; i++) { cout << cnt[i] << "\n"; } }