#include #define endl '\n' using namespace std; const int maxn=1e5+10; vector t2; vector t; vector mint; vector v[maxn]; int ans=1e9; int parent[maxn]; int used[maxn]; int br=1; bool f2; vector otg[maxn]; vector minotg[maxn]; int minbr=1e9; void dfs(int vr, int p, int sum, int left, bool f) { //cout<>n>>m; for(int i=0; i>k; t2.push_back(k); } sort(t2.begin(),t2.end()); int k=0; t.resize(n+1,0); for(int i=0; i>a>>b; v[a].push_back(b); v[b].push_back(a); if(!t[a])t[a]=t2[k++]; if(!t[b])t[b]=t2[k++]; } for(int i=1; i<=n; i++) { memset(used,0,sizeof(used)); for(int i=0; i(chrono::system_clock::now() - start).count()<4900) { random_shuffle(t.begin()+1,t.end()); int k=0; int otg2=0; for(int i=1; i<=minbr; i++) { for(int j=1; j1)cout<<" "; cout<