407012 - 晋升者

一个由编号为1~N(1≤N≤100 000)的N个魔法师组成的组织,其组织结构可以看成是一棵树,1号魔法师作为总裁,是这棵树的根结点。除了总裁以外的每个魔法师都有一个单独的上司(他在树上的 “双亲结点”)。所有的第 i 个魔法师都有一个不同的能力指数p(i),描述了他对其工作的擅长程度。如果魔法师i是魔法师j的祖先结点(例如上司的上司),那么我们我们把魔法师j叫作魔法师i的下属。 可以想象的是,魔法师们发现经常发生一个上司比他的一些下属能力低的情况,在这种情况下,上司应当考虑晋升他的一些下属。你的任务是帮助他弄清楚具体情况,简而言之,对于公司中的每一个魔法师i,请计算其下属j的数量满足p(j)>p(i)。

输入

输入的第一行包括一个整数 N。 接下来的 N行包括魔法师们的能力指数 p(1)~p(N),保证所有数互不相同,数据范围在区间1~ 109 之间。 接下来的N−1 行描述了2 ~N号魔法师上司(双亲结点)的编号。再次提醒,1号魔法师作为总裁,没有上司。

输出

输出包括 N 行。输出的第 i 行应当给出有多少魔法师i的下属比魔法师i能力高。

样例

输入

5
804289384
846930887
681692778
714636916
957747794
1
1
2
3

输出

2
0
1
0
0
时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题