奖金(money)
题目描述
二十年后,小开同学成了一家大型软件公司拼夕夕的 Boss。该公司由 N 人组成,编号为 1 到 N,小开同学的工号为 1。公司的结构像一棵树一样,每个员工(小开同学除外)都有一个唯一的直接上司,每个老板都可以有多名下属。小开同学没有上司,只有下属。
公司接到订单后,小开同学会将该任务安排给他编号最小的直接下属。然后,该直接下属也将任务委托给他编号最小的下属,这个过程会重复进行,直到任务被发送给没有下属的人,然后此人必须亲自完成任务。
真正完成任务的人将获得 1 个单位的奖励,这个人的直接上司将获得 2 个单位的奖励这个人的直接上司的直接上司获得 3 个单位的奖励,依此类推,一直到小开同学。之后,真正完成工作的员工意识到制度的不公平并感到伤心,就会辞职。
当公司收到的下一个订单时,虽然少了一个人,但工作必须继续。任务是无限多的(直到公司倒闭),因此整个过程(分配新任务,执行任务,发放奖励和执行任务人员的退出)重复进行,最后小开同学独自留在公司并完成他的第一个(也是他的最后一个)任务。
当然,在此之前,小开同学将积累相当多的财富,但他也想知道每个员工赚了多少钱。
输入格式
输入有两行。
第一行输入包含一个正整数 N,表示包括小开同学在内的员工的个数。
第二行有 n−1 整数,分别为a2,a3,...,an(≤ai<i) 表示第 i 个员工的上司。
输出格式
输出包括一行,包含 n 个整数,第个整数表示编号为的人能得到的奖励数。
数据样例
输入数据 1
3
1 2
输出数据 1
6 3 1
输入数据 2
5
1 2 2 3
输出数据 2
13 8 3 1 1
数据范围
对于 50% 的数据:2≤n≤5000。 对于 100% 的数据:2≤n≤2×10^5。