一个由编号为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