#include using namespace std; #define int long long const int N=2e5+5; int n,m; vector e[N]; bool vis[N]; int a[N],cnt,mp[N],dp[N]; int dfs(int u) { vis[u]=1; int sum=1; for(auto v:e[u]){ if(!vis[v]) sum+=dfs(v); } return sum; } signed main() { ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); /*for(int i=1;i<=m;i++){ for(int j=1;j<=n;j++){ dp[i][j]=dp[i-1][j-a[i]]+1; } }*/ cin>>n>>m; for(int i=1,u,v;i<=m;i++){ cin>>u>>v; e[u].push_back(v); e[v].push_back(u); } for(int i=1;i<=n;i++){ if(!vis[i]){ int x=dfs(i); mp[x]++; } } for(int i=1;i<=n;i++){ dp[i]=1e9; if(mp[i]){ //dp[i]=0; for(int j=0;(1ll<=a[i];j--){ dp[j]=min(dp[j],dp[j-a[i]]+1); } } for(int i=1;i<=n;i++){ if(dp[i]==1e9) cout<<-1<<"\n"; else cout<