AT_agc063_e [AGC063E] Child to Parent

Description

[problemUrl]: https://atcoder.jp/contests/agc063/tasks/agc063_e 頂点に $ 1 $ から $ N $ の番号がついた $ N $ 頂点の根付き木があります.頂点 $ 1 $ が根であり,頂点 $ i $ ($ 2\leq\ i\leq\ N $) の親は $ P_i $ です. 非負整数 $ r $ および非負整数列 $ A\ =\ (A_1,\ \ldots,\ A_N) $ が与えられます.あなたはこの数列に対して,次の操作を何度でも行うことができます($ 0 $ 回でもよい): - $ i\geq\ 2 $ かつ $ A_i\ \geq\ 1 $ となる $ i $ をひとつ選ぶ.$ A_i $ を $ A_i\ -\ 1 $ に,$ A_{P_i} $ を $ A_{P_i}+r $ に置き換える. 最終的な非負整数列 $ A $ としてありうるものの個数を $ 998244353 $ で割った余りを求めてください.

Input Format

入力は以下の形式で標準入力から与えられます. > $ N $ $ P_2 $ $ \ldots $ $ P_N $ $ r $ $ A_1 $ $ \ldots $ $ A_N $

Output Format

最終的な非負整数列 $ A $ としてありうるものの個数を $ 998244353 $ で割った余りを出力してください.

Explanation/Hint

### 制約 - $ 2\leq\ N\leq\ 300 $ - $ 1\leq\ P_i\ \leq\ i\ -\ 1 $ ($ 2\leq\ i\leq\ N $) - $ 0\leq\ r\ \leq\ 10^9 $ - $ 0\leq\ A_i\ \leq\ 10^9 $ ### Sample Explanation 1 最終的な $ A $ としてありうるのは次の $ 4 $ 個です:$ (1,1,1) $, $ (3,0,1) $, $ (3,1,0) $, $ (5,0,0) $. ### Sample Explanation 2 最終的な $ A $ としてありうるのは次の $ 5 $ 個です:$ (1,1,1) $, $ (1,2,0) $, $ (2,0,1) $, $ (2,1,0) $, $ (3,0,0) $. ### Sample Explanation 3 最終的な $ A $ としてありうるのは次の $ 6 $ 個です:$ (1,1,1) $, $ (1,3,0) $, $ (3,0,1) $, $ (3,2,0) $, $ (5,1,0) $, $ (7,0,0) $.