#include using namespace std; const int nmax=5e3+42,kmax=5e2+42; int n,k; int bits(int w) { int ret=0; while(w) { ret=ret+w%2; w=w/2; } return ret; } vector< pair > adj[nmax]; int help[nmax][kmax]; int SZ[nmax]; vector rec(int node,int parent) { vector outp={0}; for(auto w:adj[node]) if(w.first!=parent) { vector cur=rec(w.first,node); vector help(outp.size()+cur.size()-1,n); //cout<<"w= "< ";for(auto w:cur)cout< ";for(auto w:outp)cout< "< outp=rec(1,1); int mini=n*n; for(int i=0;i