AT_pakencamp_2024_day2_e Excluded Children

Description

頂点 $ 1 $ を根とする $ N $ 頂点の根付き木があり、頂点 $ i $ の親は $ P_i $ です。また、各頂点には $ 1 $ つの非負整数を書くことができます。 あなたは、まずこの木の全ての葉、すなわち子を $ 1 $ つも持たない頂点に $ 0 $ か $ 1 $ を書きます。その後、葉でない頂点全てに対し、その子の頂点に書かれた数の集合の $ \mathrm{mex} $ を書きます。 厳密には、頂点 $ v $ に書く非負整数を $ A_v $ としたとき、以下の条件を満たすようにします。 - 頂点 $ v $ が葉のとき、 $ A_v = 0 $ または $ A_v = 1 $ - 頂点 $ v $ が葉でないとき、頂点 $ v $ の子を $ C_1,C_2,\ldots,C_M $ とすると、 $ A_v = \mathrm{mex}(\{A_{C_1},A_{C_2},\ldots,A_{C_M}\}) $ ただし、ある非負整数の集合 $ S $ に対し、 $ \mathrm{mex}(S) $ は $ S $ に含まれない最小の非負整数を表します。 葉の個数を $ L $ とすると、頂点への非負整数の書き方は $ 2^L $ 通りあります。 $ k = 0,1,2,\ldots,N $ のそれぞれについて、 $ 2^L $ 通りの書き方の中で最終的に頂点 $ 1 $ に $ k $ が書かれるようなものの個数を $ 998244353 $ で割った余りを求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ P_2 $ $ P_3 $ $ \ldots $ $ P_N $

Output Format

$ N+1 $ 行出力してください。 $ i $ 行目 $ (0 \leq i \leq N) $ には、最終的に頂点 $ 1 $ に $ i $ が書かれるような葉の頂点への数の書き方の個数を $ 998244353 $ で割った余りを出力してください。

Explanation/Hint

### 小課題 1. ( $ 4 $ 点) 葉の個数は $ 5 $ 個以下 2. ( $ 8 $ 点) $ P_i = 1 $ ( $ 2 \leq i \leq N $ ) 3. ( $ 8 $ 点) $ P_i = \lfloor \frac{i}{2} \rfloor $ ( $ 2 \leq i \leq N $ ) 4. ( $ 15 $ 点) $ N \leq 100 $ 5. ( $ 25 $ 点) $ N \leq 5000 $ 6. ( $ 40 $ 点) 追加の制約はない ### Sample Explanation 1 この入力例では、葉は頂点 $ 3, 4, 5 $ です。例えば、これらにそれぞれ $ 0, 1, 0 $ を書いた場合、 - 頂点 $ 2 $ の子は 頂点 $ 4, 5 $ で、それぞれ $ 1, 0 $ が書かれているため、頂点 $ 2 $ には $ \mathrm{mex}(\{0,1\}) = 2 $ を書きます。 - 頂点 $ 1 $ の子は 頂点 $ 2, 3 $ で、それぞれ $ 2, 0 $ が書かれているため、頂点 $ 1 $ には $ \mathrm{mex}(\{0,2\}) = 1 $ を書きます。 よって、この場合頂点 $ 1 $ に書かれる数は $ 1 $ です。 このサンプルは小課題 $ 1,3,4,5,6 $ を満たします。 ### Sample Explanation 2 このサンプルは小課題 $ 1,4,5,6 $ を満たします。 ### Constraints - $ 1 \leq N \leq 2 \times 10^{5} $ - $ 1 \leq P_i < i $ ( $ 2 \leq i \leq N $ ) - 入力は全て整数