给定一颗 $ n $ 个点的有根树,$ 1 $ 是根,记 $ u $ 的父亲是 $ fa_u $。另给出一长度为 $ n $ 的权值序列 $ b $。
称一个长度为 $ n $ 的排列 $ a $ 为这颗树的合法拓扑序,当且仅当 $ \forall 2 \le u \le n,a_u > a_{fa_u} $。
对每个点 $ u $,定义 $ f(u) $ 为,在所有这颗树的合法拓扑序中,$ b_{a_u} $ 之和。
现在对 $ 1 \le u \le n $,求 $ f(u) \bmod 10^9+7 $。
输入格式
第一行一个整数 $ n $ 表示树的点数。
第二行 $ n-1 $ 个整数,第 $ i $ 个表示 $ fa_{i+1} $,描述树的结构。
第三行 $ n $ 个整数,第 $ i $ 个表示 $ b_i $,描述权值序列。
输出格式
一行 $ n $ 个整数,第 $ i $ 个表示 $ f(i) \bmod 10^9+7 $。
样例
样例输入 1
5
1 1 3 2
3 5 4 4 1
样例输出 1
18 27 27 15 15
样例输入 2
5
1 1 3 1
1 2 3 4 5
样例输出 2
12 42 32 52 42
数据范围
Subtask | $ n \le $ | 特殊限制 | 分值 |
---|---|---|---|
$ 1 $ | $ 10 $ | 无 | $ 5 $ |
$ 2 $ | $ 20 $ | 无 | $ 10 $ |
$ 3 $ | $ 100 $ | 无 | $ 15 $ |
$ 4 $ | $ 350 $ | 无 | $ 15 $ |
$ 5 $ | $ 3000 $ | A | $ 15 $ |
$ 6 $ | $ 3000 $ | 无 | $ 20 $ |
$ 7 $ | $ 5000 $ | 无 | $ 20 $ |
特殊限制 A:$ \forall 1 \le i \le n,b_i=i $。
对于所有数据:$ 2 \le n \le 5000 $,$ 1 \le fa_i < i $,$ 0 \le b_i < 10^9+7 $。