const fi='bdoi16e.inp';
fo='bdoi16e.out';
maxn=200000;
maxx=1000000;
var free,bait,res,vitri,l,r,x,y,h,a,trace:array[0..maxn]of longint;
z,d,p,w:array[0..maxn]of int64;
it:array[0..maxx]of longint;
i,goc,ll,n,top,count:longint;
procedure mo;
begin
assign(input,fi);reseT(input);
assign(output,fo);rewrite(output);
end;
procedure dong;
begin
close(input);closE(output);
end;
procedure dfs(u:longint);
var v:longint;
begin
inc(count);
l[u]:=count;
vitri[count]:=u;
for v:=h[u]+1 to h[u+1] do
if (trace[a[v]]=0) then
begin
trace[a[v]]:=u;
d[a[v]]:=d[u]+p[v];
dfs(a[v]);
end;
r[u]:=count;
end;
function search(x:int64):longint;
var l,r,mid:longint;
begin
l:=1;
r:=top;
while l<=r do
begin
mid:=(l+r) div 2;
if (w[mid]=x) then exit(mid);
if (W[mid]<x) then l:=mid+1 else r:=mid-1;
end;
end;
procedure qs(l,r:longint);
var i,j,m:longint;
x,t:int64;
begin
i:=l;
j:=r;
m:=random(r-l)+1+l;
x:=w[m];
repeat
while (w[i]<x) do inc(i);
while (x<w[j]) do dec(j);
if i<=j then
begin
t:=w[i];
w[i]:=w[j];
w[j]:=t;
inc(i);dec(j);
end;
until i>j;
if i<r then qs(i,r);
if l<j then qs(l,j);
end;
procedure update(u,w,l,r,i:longint);
var mid:longint;
begin
if (r<u) or (u<l) then exit;
if (u=l) and (u=r) then
begin
it[i]:=w;
exit;
end;
mid:=(l+r) div 2;
update(u,w,l,mid,i*2);
update(u,w,mid+1,r,i*2+1);
it[i]:=it[i*2]+it[i*2+1];
end;
function find(u,v,l,r,i:longint):longint;
var mid:longint;
begin
if (r<u) or (v<l) then exit(0);
if (u<=l) and (r<=v) then exit(it[i]);
mid:=(l+r) div 2;
exit(find(u,v,l,mid,i*2)+find(u,v,mid+1,r,i*2+1));
end;
procedure bfs(u:longint);
var v:longint;
begin
inc(count);
while (ll+1<l[u]) do
begin
if (trace[ll+1]<n+1) then update(trace[ll+1],1,1,n,1);
inc(ll);
end;
res[u]:=find(l[u],r[u],1,n,1);
for v:=h[u]+1 to h[u+1] do
bfs(a[v]);
end;
procedure nhap;
var i:longint;
begin
readln(n);
for i:=1 to n do read(W[i]);
for i:=1 to n do read(x[i]);
for i:=1 to n do read(z[i]);
for i:=1 to n do
if x[i]=0 then goc:=i else
begin
y[i]:=i;
inc(h[x[i]]);
end;
for i:=1 to n+1 do inc(h[i],h[i-1]);
for i:=1 to n do
if x[i]<>0 then
begin
a[h[x[i]]]:=y[i];
p[h[x[i]]]:=z[i];
dec(h[x[i]]);
end;
trace[goc]:=-1;
count:=0;
dfs(goc);
for i:=1 to n do d[i]:=d[i]+w[i];
for i:=1 to n do w[i]:=d[i];
qs(1,n);
top:=1;
for i:=2 to n do
if w[i]<>w[i-1] then
begin
inc(top);
w[top]:=w[i];
end;
for i:=1 to n do d[i]:=search(d[i]);
for i:=1 to n do bait[i]:=n+1;
for i:=n downto 1 do
begin
trace[i]:=bait[d[vitri[i]]];
bait[d[vitri[i]]]:=i;
end;
for i:=1 to n do
if free[d[vitri[i]]]=0 then
begin
update(i,1,1,n,1);
free[d[vitri[i]]]:=1;
end;
ll:=0;
count:=0;
end;
begin
// mo;
nhap;
bfs(goc);
for i:=1 to n do writeln(Res[i]);
// dong;
end.
IGNvbnN0IGZpPSdiZG9pMTZlLmlucCc7CiAgICAgICAgICBmbz0nYmRvaTE2ZS5vdXQnOwogICAgICAgICAgICBtYXhuPTIwMDAwMDsKICAgICAgICAgICAgbWF4eD0xMDAwMDAwOwogICAgdmFyIGZyZWUsYmFpdCxyZXMsdml0cmksbCxyLHgseSxoLGEsdHJhY2U6YXJyYXlbMC4ubWF4bl1vZiBsb25naW50OwogICAgICAgIHosZCxwLHc6YXJyYXlbMC4ubWF4bl1vZiBpbnQ2NDsKICAgICAgICBpdDphcnJheVswLi5tYXh4XW9mIGxvbmdpbnQ7CiAgICAgICAgICAgIGksZ29jLGxsLG4sdG9wLGNvdW50OmxvbmdpbnQ7CiAgICBwcm9jZWR1cmUgbW87CiAgICAgICAgYmVnaW4KICAgICAgICAgICAgYXNzaWduKGlucHV0LGZpKTtyZXNlVChpbnB1dCk7CiAgICAgICAgICAgIGFzc2lnbihvdXRwdXQsZm8pO3Jld3JpdGUob3V0cHV0KTsKICAgICAgICBlbmQ7CiAgICBwcm9jZWR1cmUgZG9uZzsKICAgICAgICBiZWdpbgogICAgICAgICAgICBjbG9zZShpbnB1dCk7Y2xvc0Uob3V0cHV0KTsKICAgICAgICBlbmQ7CiAgICBwcm9jZWR1cmUgZGZzKHU6bG9uZ2ludCk7CiAgICAgICAgdmFyIHY6bG9uZ2ludDsKICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAgIGluYyhjb3VudCk7CiAgICAgICAgICAgICAgICBsW3VdOj1jb3VudDsKICAgICAgICAgICAgICAgIHZpdHJpW2NvdW50XTo9dTsKICAgICAgICAgICAgICAgIGZvciB2Oj1oW3VdKzEgdG8gaFt1KzFdIGRvCiAgICAgICAgICAgICAgICAgICAgaWYgKHRyYWNlW2Fbdl1dPTApIHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNlW2Fbdl1dOj11OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZFthW3ZdXTo9ZFt1XStwW3ZdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGZzKGFbdl0pOwogICAgICAgICAgICAgICAgICAgICAgICBlbmQ7CiAgICAgICAgICAgICAgICByW3VdOj1jb3VudDsKICAgICAgICAgICAgZW5kOwogICAgZnVuY3Rpb24gc2VhcmNoKHg6aW50NjQpOmxvbmdpbnQ7CiAgICAgICAgdmFyIGwscixtaWQ6bG9uZ2ludDsKICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAgIGw6PTE7CiAgICAgICAgICAgICAgICByOj10b3A7CiAgICAgICAgICAgICAgICB3aGlsZSBsPD1yIGRvCiAgICAgICAgICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAgICAgICAgICAgbWlkOj0obCtyKSBkaXYgMjsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHdbbWlkXT14KSB0aGVuIGV4aXQobWlkKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFdbbWlkXTx4KSB0aGVuIGw6PW1pZCsxIGVsc2Ugcjo9bWlkLTE7CiAgICAgICAgICAgICAgICAgICAgZW5kOwogICAgICAgICAgICBlbmQ7CiAgICBwcm9jZWR1cmUgcXMobCxyOmxvbmdpbnQpOwogICAgICAgIHZhciBpLGosbTpsb25naW50OwogICAgICAgICAgICB4LHQ6aW50NjQ7CiAgICAgICAgICAgICAgICBiZWdpbgogICAgICAgICAgICAgICAgICAgIGk6PWw7CiAgICAgICAgICAgICAgICAgICAgajo9cjsKICAgICAgICAgICAgICAgICAgICBtOj1yYW5kb20oci1sKSsxK2w7CiAgICAgICAgICAgICAgICAgICAgeDo9d1ttXTsKICAgICAgICAgICAgICAgICAgICByZXBlYXQKICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKHdbaV08eCkgZG8gaW5jKGkpOwogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoeDx3W2pdKSBkbyBkZWMoaik7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIGk8PWogdGhlbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0Oj13W2ldOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdbaV06PXdbal07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd1tqXTo9dDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmMoaSk7ZGVjKGopOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kOwogICAgICAgICAgICAgICAgICAgIHVudGlsIGk+ajsKICAgICAgICAgICAgICAgICAgICBpZiBpPHIgdGhlbiBxcyhpLHIpOwogICAgICAgICAgICAgICAgICAgIGlmIGw8aiB0aGVuIHFzKGwsaik7CiAgICAgICAgICAgICAgICBlbmQ7CiAgICBwcm9jZWR1cmUgdXBkYXRlKHUsdyxsLHIsaTpsb25naW50KTsKICAgICAgICB2YXIgbWlkOmxvbmdpbnQ7CiAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICBpZiAocjx1KSBvciAodTxsKSB0aGVuIGV4aXQ7CiAgICAgICAgICAgICAgICBpZiAodT1sKSBhbmQgKHU9cikgdGhlbgogICAgICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAgICAgICAgIGl0W2ldOj13OwogICAgICAgICAgICAgICAgICAgICAgICBleGl0OwogICAgICAgICAgICAgICAgICAgIGVuZDsKICAgICAgICAgICAgICAgIG1pZDo9KGwrcikgZGl2IDI7CiAgICAgICAgICAgICAgICB1cGRhdGUodSx3LGwsbWlkLGkqMik7CiAgICAgICAgICAgICAgICB1cGRhdGUodSx3LG1pZCsxLHIsaSoyKzEpOwogICAgICAgICAgICAgICAgaXRbaV06PWl0W2kqMl0raXRbaSoyKzFdOwogICAgICAgICAgICBlbmQ7CiAgICBmdW5jdGlvbiBmaW5kKHUsdixsLHIsaTpsb25naW50KTpsb25naW50OwogICAgICAgIHZhciBtaWQ6bG9uZ2ludDsKICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAgIGlmIChyPHUpIG9yICh2PGwpIHRoZW4gZXhpdCgwKTsKICAgICAgICAgICAgICAgIGlmICh1PD1sKSBhbmQgKHI8PXYpIHRoZW4gZXhpdChpdFtpXSk7CiAgICAgICAgICAgICAgICBtaWQ6PShsK3IpIGRpdiAyOwogICAgICAgICAgICAgICAgZXhpdChmaW5kKHUsdixsLG1pZCxpKjIpK2ZpbmQodSx2LG1pZCsxLHIsaSoyKzEpKTsKICAgICAgICAgICAgZW5kOwogICAgcHJvY2VkdXJlIGJmcyh1OmxvbmdpbnQpOwogICAgICAgIHZhciB2OmxvbmdpbnQ7CiAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICBpbmMoY291bnQpOwogICAgICAgICAgICAgICAgd2hpbGUgKGxsKzE8bFt1XSkgZG8KICAgICAgICAgICAgICAgICAgICBiZWdpbgogICAgICAgICAgICAgICAgICAgICAgICBpZiAodHJhY2VbbGwrMV08bisxKSB0aGVuIHVwZGF0ZSh0cmFjZVtsbCsxXSwxLDEsbiwxKTsKICAgICAgICAgICAgICAgICAgICAgICAgaW5jKGxsKTsKICAgICAgICAgICAgICAgICAgICBlbmQ7CiAgICAgICAgICAgICAgICByZXNbdV06PWZpbmQobFt1XSxyW3VdLDEsbiwxKTsKICAgICAgICAgICAgICAgIGZvciB2Oj1oW3VdKzEgdG8gaFt1KzFdIGRvCiAgICAgICAgICAgICAgICAgICAgICAgIGJmcyhhW3ZdKTsKICAgICAgICAgICAgZW5kOwogICAgcHJvY2VkdXJlIG5oYXA7CiAgICB2YXIgaTpsb25naW50OwogICAgICAgIGJlZ2luCiAgICAgICAgICAgIHJlYWRsbihuKTsKICAgICAgICAgICAgZm9yIGk6PTEgdG8gbiBkbyByZWFkKFdbaV0pOwogICAgICAgICAgICBmb3IgaTo9MSB0byBuIGRvIHJlYWQoeFtpXSk7CiAgICAgICAgICAgIGZvciBpOj0xIHRvIG4gZG8gcmVhZCh6W2ldKTsKICAgICAgICAgICAgZm9yIGk6PTEgdG8gbiBkbwogICAgICAgICAgICAgICAgaWYgeFtpXT0wIHRoZW4gZ29jOj1pIGVsc2UKICAgICAgICAgICAgICAgICAgICBiZWdpbgogICAgICAgICAgICAgICAgICAgICAgICB5W2ldOj1pOwogICAgICAgICAgICAgICAgICAgICAgICBpbmMoaFt4W2ldXSk7CiAgICAgICAgICAgICAgICAgICAgZW5kOwogICAgICAgICAgICBmb3IgaTo9MSB0byBuKzEgZG8gaW5jKGhbaV0saFtpLTFdKTsKICAgICAgICAgICAgZm9yIGk6PTEgdG8gbiBkbwogICAgICAgICAgICAgICAgaWYgeFtpXTw+MCB0aGVuCiAgICAgICAgICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAgICAgICAgICAgYVtoW3hbaV1dXTo9eVtpXTsKICAgICAgICAgICAgICAgICAgICAgICAgcFtoW3hbaV1dXTo9eltpXTsKICAgICAgICAgICAgICAgICAgICAgICAgZGVjKGhbeFtpXV0pOwogICAgICAgICAgICAgICAgICAgIGVuZDsKICAgICAgICAgICAgdHJhY2VbZ29jXTo9LTE7CiAgICAgICAgICAgIGNvdW50Oj0wOwogICAgICAgICAgICBkZnMoZ29jKTsKICAgICAgICAgICAgZm9yIGk6PTEgdG8gbiBkbyBkW2ldOj1kW2ldK3dbaV07CiAgICAgICAgICAgIGZvciBpOj0xIHRvIG4gZG8gd1tpXTo9ZFtpXTsKICAgICAgICAgICAgcXMoMSxuKTsKICAgICAgICAgICAgdG9wOj0xOwogICAgICAgICAgICBmb3IgaTo9MiB0byBuIGRvCiAgICAgICAgICAgICAgICBpZiB3W2ldPD53W2ktMV0gdGhlbgogICAgICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAgICAgICAgIGluYyh0b3ApOwogICAgICAgICAgICAgICAgICAgICAgICB3W3RvcF06PXdbaV07CiAgICAgICAgICAgICAgICAgICAgZW5kOwogICAgICAgICAgICBmb3IgaTo9MSB0byBuIGRvIGRbaV06PXNlYXJjaChkW2ldKTsKICAgICAgICAgICAgZm9yIGk6PTEgdG8gbiBkbyBiYWl0W2ldOj1uKzE7CiAgICAgICAgICAgIGZvciBpOj1uIGRvd250byAxIGRvCiAgICAgICAgICAgICAgICBiZWdpbgogICAgICAgICAgICAgICAgICAgIHRyYWNlW2ldOj1iYWl0W2Rbdml0cmlbaV1dXTsKICAgICAgICAgICAgICAgICAgICBiYWl0W2Rbdml0cmlbaV1dXTo9aTsKICAgICAgICAgICAgICAgIGVuZDsKICAgICAgICAgICAgZm9yIGk6PTEgdG8gbiBkbwogICAgICAgICAgICAgICAgaWYgZnJlZVtkW3ZpdHJpW2ldXV09MCB0aGVuCiAgICAgICAgICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlKGksMSwxLG4sMSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGZyZWVbZFt2aXRyaVtpXV1dOj0xOwogICAgICAgICAgICAgICAgICAgIGVuZDsKICAgICAgICAgICAgbGw6PTA7CiAgICAgICAgICAgIGNvdW50Oj0wOwogICAgICAgIGVuZDsKICAgIGJlZ2luCiAgICAgICAvLyBtbzsKICAgICAgICBuaGFwOwogICAgICAgIGJmcyhnb2MpOwogICAgICAgIGZvciBpOj0xIHRvIG4gZG8gd3JpdGVsbihSZXNbaV0pOwogICAgICAgLy8gZG9uZzsKICAgIGVuZC4KIA==