#include<bits/stdc++.h>
using namespace std;
vector<vector<int>> vec;
int ile[1000007];
int wart[1000007];
int ile_ma(int x)
{
int c=vec[x].size();
if(ile[x]>0)
{
return ile[x];
}
if(c==0)
{
ile[x]=wart[x];
return wart[x];
}
int wyn=wart[x];
for(auto a:vec[x])
{
wyn+=ile_ma(a);
}
if(x==1)
{
cout<<"cnlcna"<<endl;
for(auto a:vec[x])
{
cout<<ile_ma(a)<<endl;
}
}
ile[x]=wyn;
return wyn;
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
int n;cin>>n;
if(n==1)
{
cout<<0;
return 0;
}
for(int i=0;i<n;i++)
{
vector<int> a;vec.push_back(a);
}
for(int i=2;i<=n;i++)
{
int a,b;cin>>a>>b;
vec[a].push_back(i);
wart[i]=b;
}
ile_ma(1);
for(int i=1;i<=n;i++)
{
cout<<ile[i]<<endl;
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdmVjdG9yPHZlY3RvcjxpbnQ+PiB2ZWM7CmludCBpbGVbMTAwMDAwN107CmludCB3YXJ0WzEwMDAwMDddOwppbnQgaWxlX21hKGludCB4KQp7CiAgICBpbnQgYz12ZWNbeF0uc2l6ZSgpOwogICAgaWYoaWxlW3hdPjApCiAgICB7CiAgICAgICAgcmV0dXJuIGlsZVt4XTsKICAgIH0KICAgIGlmKGM9PTApCiAgICB7CiAgICAgICAgaWxlW3hdPXdhcnRbeF07CiAgICAgICAgcmV0dXJuIHdhcnRbeF07CiAgICB9CiAgICBpbnQgd3luPXdhcnRbeF07CiAgICBmb3IoYXV0byBhOnZlY1t4XSkKICAgIHsKICAgICAgICB3eW4rPWlsZV9tYShhKTsKICAgIH0KICAgIGlmKHg9PTEpCiAgICB7CiAgICAgICAgY291dDw8ImNubGNuYSI8PGVuZGw7CiAgICAgICAgZm9yKGF1dG8gYTp2ZWNbeF0pCiAgICB7CiAgICAgICAgY291dDw8aWxlX21hKGEpPDxlbmRsOwogICAgfQogICAgfQogICAgaWxlW3hdPXd5bjsKICAgIHJldHVybiB3eW47Cn0KaW50IG1haW4oKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZSgwKTsKICAgIGludCBuO2Npbj4+bjsKICAgIGlmKG49PTEpCiAgICB7CiAgICAgICAgY291dDw8MDsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIGZvcihpbnQgaT0wO2k8bjtpKyspCiAgICB7CiAgICAgICAgdmVjdG9yPGludD4gYTt2ZWMucHVzaF9iYWNrKGEpOwogICAgfQogICAgZm9yKGludCBpPTI7aTw9bjtpKyspCiAgICB7CiAgICAgICAgaW50IGEsYjtjaW4+PmE+PmI7CiAgICAgICAgdmVjW2FdLnB1c2hfYmFjayhpKTsKICAgICAgICB3YXJ0W2ldPWI7CiAgICB9CiAgICBpbGVfbWEoMSk7CiAgICBmb3IoaW50IGk9MTtpPD1uO2krKykKICAgIHsKICAgICAgICBjb3V0PDxpbGVbaV08PGVuZGw7CiAgICB9Cn0K