#include #include #include #include using namespace std; long long i,z[10001],maxk,n,x,y,used[10001]; bool colors[10001][10001]; vector > v[10001]; void color(long long p) { if(used[p]==1) return; used[p]=1; int m=v[p].size(); int k=1; for(int i=0; i<=m-1; i++) { if(used[v[p][i].first]==1) {continue;} while(colors[p][k]==1) k++; colors[p][k]=colors[v[p][i].first][k]=1; color(v[p][i].first); z[v[p][i].second]=k; if(maxk