#include using namespace std; typedef signed long long ll; #define _P(...) (void)printf(__VA_ARGS__) #define FOR(x,to) for(x=0;x<(to);x++) #define FORR(x,arr) for(auto& x:arr) #define FORR2(x,y,arr) for(auto& [x,y]:arr) #define ALL(a) (a.begin()),(a.end()) #define ZERO(a) memset(a,0,sizeof(a)) #define MINUS(a) memset(a,0xff,sizeof(a)) template bool chmax(T &a, const T &b) { if(a bool chmin(T &a, const T &b) { if(a>b){a=b;return 1;}return 0;} //------------------------------------------------------- int N; vector Es[202020]; int P[202020]; vector> E2[202020]; vector E[202020]; int NC[202020]; vector> cand; void dfs(int cur,int pre) { P[cur]=pre; FORR(e,E[cur]) if(e!=pre) { dfs(e,cur); E2[cur].push_back({E[e].size(),e}); NC[cur]++; } sort(ALL(E2[cur])); reverse(ALL(E2[cur])); } pair dfs2(int cur,int pre,int k) { int sum=0; int more=0; while(E2[cur].size()&&E2[cur].back().first=k) { //cout<=k) { //cout<>N; FOR(i,N) { cin>>k; FOR(j,k) { cin>>x; Es[x].push_back(i); E[i].push_back(x); } cand.push_back({k,i}); } FOR(i,N) { FORR(e,E[i]) { if(Es[e][0]==i) e=Es[e][1]; else e=Es[e][0]; } } dfs(0,0); sort(ALL(cand)); reverse(ALL(cand)); for(i=1;i<=N-1;i++) { while(cand.size()&&cand.back().first