#include <bits/stdc++.h>
using namespace std;
#define int long long
const int maxn = 2e5+5;
vector<pair<int,int>> g[maxn];
int child[maxn];
int ans[maxn];
void dfs(int node, int parent, int fix, int val){
if(child[node] == -1){
ans[fix] = min(ans[fix],val);
return;
}
for(auto m: g[node]){
int i = m.first,num = m.second;
if(i == parent){
continue;
}
if(i == child[node]){
dfs(i,node,fix,val+num);
}
else{
dfs(i,node,fix+1,val+num);
}
}
}
signed main() {
int N; cin>>N;
for(int i = 1;i<=N-1;i++){
int a,b,c; cin>>a>>b>>c;
g[a].push_back(make_pair(b,c));
g[b].push_back(make_pair(a,c));
}
for(int i =0;i<=N;i++){
ans[i] = 1e18;
}
for(int i =1;i<=N;i++){
int a; cin>>a;
if(a == 0) child[i] = -1;
else child[i] = a;
// cout<<child[i]<<" ";
}
dfs(1,-1,0,0);
for(int i = 1;i<=N-1;i++){
ans[i] = min(ans[i],ans[i-1]);
}
for(int i = 0;i<N;i++) cout<<ans[i]<<endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwpjb25zdCBpbnQgbWF4biA9IDJlNSs1Owp2ZWN0b3I8cGFpcjxpbnQsaW50Pj4gZ1ttYXhuXTsKaW50IGNoaWxkW21heG5dOwppbnQgYW5zW21heG5dOwp2b2lkIGRmcyhpbnQgbm9kZSwgaW50IHBhcmVudCwgaW50IGZpeCwgaW50IHZhbCl7CglpZihjaGlsZFtub2RlXSA9PSAtMSl7CgkJYW5zW2ZpeF0gPSBtaW4oYW5zW2ZpeF0sdmFsKTsKCQlyZXR1cm47Cgl9Cglmb3IoYXV0byBtOiBnW25vZGVdKXsKCQlpbnQgaSA9IG0uZmlyc3QsbnVtID0gbS5zZWNvbmQ7CgkJaWYoaSA9PSBwYXJlbnQpewoJCQljb250aW51ZTsKCQl9CgkJaWYoaSA9PSBjaGlsZFtub2RlXSl7CgkJCWRmcyhpLG5vZGUsZml4LHZhbCtudW0pOwoJCX0KCQllbHNlewoJCQlkZnMoaSxub2RlLGZpeCsxLHZhbCtudW0pOwoJCX0KCX0KfQpzaWduZWQgbWFpbigpIHsKCWludCBOOyBjaW4+Pk47Cglmb3IoaW50IGkgPSAxO2k8PU4tMTtpKyspewoJCWludCBhLGIsYzsgY2luPj5hPj5iPj5jOwoJCWdbYV0ucHVzaF9iYWNrKG1ha2VfcGFpcihiLGMpKTsKCQlnW2JdLnB1c2hfYmFjayhtYWtlX3BhaXIoYSxjKSk7Cgl9Cglmb3IoaW50IGkgPTA7aTw9TjtpKyspewoJCWFuc1tpXSA9IDFlMTg7Cgl9Cglmb3IoaW50IGkgPTE7aTw9TjtpKyspewoJCWludCBhOyBjaW4+PmE7CgkJaWYoYSA9PSAwKSBjaGlsZFtpXSA9IC0xOwoJCWVsc2UgY2hpbGRbaV0gPSBhOwoJCS8vIGNvdXQ8PGNoaWxkW2ldPDwiICI7Cgl9CglkZnMoMSwtMSwwLDApOwoJZm9yKGludCBpID0gMTtpPD1OLTE7aSsrKXsKCQlhbnNbaV0gPSBtaW4oYW5zW2ldLGFuc1tpLTFdKTsKCX0KCWZvcihpbnQgaSA9IDA7aTxOO2krKykgY291dDw8YW5zW2ldPDxlbmRsOwoJcmV0dXJuIDA7Cn0=