题目描述
理塘大学举行了第五人格校内排位赛,很多同学带了自己的笔记本电脑用来比赛。笔记本需要供电,但是很快同学们发现了一个问题,赛场里只有一个插座!因此同学们将自己的插排带到了赛场里。
具体的,同学们一共带来了 n 个插排,我们分别将其标号为 1∼n。
下一个问题是插排的安装问题。由于赛场里只有一个插座,因此同学们只能用如图的 “插排插插排” 的方式。
请注意,这种情况只是服务于题目背景,但是十分不符合用电安全!在生活用电中,请保证安全至上!
具体的,你会得到一个长度为 n−1 的序列 u2,⋯,un。 除编号为 1 的插排连接在插座上外,ui 代表编号为 i 的插排连接在 ui 编号的插排上,我们保证 ui<i。
插排安装好后,同学们将充电器插在了不同的插座上。最后,我们可以用一个序列 a1,a2,⋯,an 表示充电器的使用情况。具体的,对于标号为 i 的插座,其被插上了 ai 个充电器。
我们定义插排 i 向某个充电器供电,当且仅当电流从赛场中的唯一一个插座流向这个充电器的时候,经过了插排 i。
如果对供电的概念有疑问,可以参照样例解释 #1进一步理解。
现在同学们想要知道,对于每一个插排,这个插排在向几个充电器供电。然而这个问题对于他们来说太难,所以他们找到了你,希望你能够帮他们解决这个问题。
输入格式
输入共三行。
第一行为一个整数 n,代表插排数量。
第二行 n−1 个整数 u2,u3,⋯,un,代表第 2∼n 号插排连接的插排序号。
第三行 n 个整数 a1,a2,⋯,an,代表 1∼n 插排上插上的的充电器数量。
输出格式
输出一行。
第一行为 n 个整数,以一个空格隔开,代表每个插排供电的充电器数量。
6
1 2 1 4 5
1 2 3 1 2 4
13 5 3 7 6 4
提示
【样例 #1 解释】
我们使用紫色矩形表示一个充电器,样例 #1 的插排排布如下图:
以 4 号插排举例,显然 4,5,6 号插排上的充电器供电都需要经过 4 号插排。电流方向如下图蓝色箭头所示。
4 号插排供电的充电器共有 1+2+4=7 个。
【数据规模与约定】
对于前 10% 的数据,保证 n=2。
对于前 20% 的数据,保证 n≤10。
对于前 50% 的数据,保证 n≤5×103。
对于另外 10% 的数据,保证对任意的 2≤i≤n,ui=i−1。
对于另外 10% 的数据,保证对任意的 2≤i≤n,ui=1。
对于所有数据,保证 2≤n≤1×106,0≤ai≤109,1≤ui<i。