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