vector e[2000]; ll c[2000],s[2000]; void f(ll i,ll*d){ ll g[2001]; rep(k,2001){ if(k-s[i]<0){ //g[k]=c[i]; g[k]=ll_inf; }else{ g[k]=c[i]+d[k-s[i]]; } } for(ll j:e[i]){ f(j,g); } rep(k,2001){ d[k]