#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int ll; typedef pair P; const int INF=1e8; vector g[100000]; bool used[100000]; int ct; void dfs(int x){ used[x]=1; ct++; for(auto y:g[x]){ if(!used[y]){ dfs(y); } } } int main() { int n, m; cin>>n>>m; for(int i=0; i>a>>b; a--; b--; g[a].push_back(b); g[b].push_back(a); } unordered_map mp; for(int i=0; i0; k++){ int key=min(c, 1<=key*x; i--){ dp[i]=min(dp[i], dp[i-key*x]+key); } } } for(int i=1; i<=n; i++){ if(dp[i]==INF) cout<<-1<