CF543D Road Improvement

题目描述

这个国家有 $n$ 座城市和 $n-1$ 条双向道路,你可以沿道路从一个城市到任意一个其他城市。这些城市被编号为整数 $1$ 到 $n$。 所有的道路最初都是不良的,但是部门想要改善一些路的状况。我们认为如果从首都 $x$ 城到其他城市的道路最多包含一条不良道路,市民会对此感到满意。 你的任务是——对于每一个可能的 $x$,求出所有能够满足市民条件的改良道路的方式。由于这些值可能很大,你需要输出这些值对 $1000000007$($10^9+7$)取模后的结果。

输入格式

第一行有一个整数 $n$($2 \le n \le 2 \cdot 10^5$)——这个国家中城市的数量。 第二行包括 $n-1$ 个描述城市道路的整数 $p_2,p_3,p_4\dots,p_n$($1 \le p_i \le i-1$)——$p_i$ 表示有一条连接城市 $p_i$ 和城市 $i$ 的道路。

输出格式

输出 $n$ 个整数 $a_1,a_2,\dots,a_n$,$a_i$ 表示在城市 $i$ 为首都时,改良道路的方式对 $1000000007$($10^9+7$)取模后的结果。