#include #include using mint = atcoder::static_modint<998244353>; //using mint = atcoder::static_modint<1000000007>; using namespace std; using namespace atcoder; using ld = long double; using ll = long long; #define mp(a,b) make_pair(a,b) #define rep(i,s,n) for(int i=s; i dx{1,0,-1,0},dy{0,1,0,-1}; int main(){ int n,m; cin >> n >> m; vector> G(n); int a,b; rep(i,0,m){ cin >> a >> b; a--,b--; G[a].push_back(b); swap(a,b); G[a].push_back(b); } vector dist(n,-1); dist[0]=0; queue Q; Q.push(0); vector ans(n+1,0); ans[0]++; while(Q.size()){ int x=Q.front(); Q.pop(); for(auto y:G[x])if(dist[y]==-1){ Q.push(y); dist[y]=dist[x]+1; ans[dist[y]]++; } } rep(i,0,n-1)ans[i+2]+=ans[i]; rep(i,1,n+1)cout << ans[i] << "\n"; }