#abc264h. [abc264_h]Perfect Binary Tree

[abc264_h]Perfect Binary Tree

問題文

頂点に 1,2,dots,N1,2,\\dots,N の番号が付いた、 NN 頂点の根付き木があります。
根は頂点 11 であり、頂点 ige2i \\ge 2 について、その親は Pi(<i)P_i(<i) です。
整数 k=1,2,dots,Nk=1,2,\\dots,N に対し次の問題を解いてください。

番号が 11 以上 kk 以下の頂点を、頂点 11 を含むようにいくつか選ぶ方法は 2k12^{k-1} 通りあります。
そのうち、選ばれた頂点集合から誘導される部分グラフの形状が頂点 11 を根とする (頂点数がある正整数 dd を用いて 2d12^d-1 と表せるような) 完全二分木になるような頂点の選び方はいくつですか?
答えは非常に大きくなる場合があるので、998244353998244353 で割った余りを求めてください。

誘導される部分グラフとは?

あるグラフ GG から、一部の頂点を選んだ集合を SS とします。この頂点集合 SS から誘導される部分グラフ HH は以下のように構成されます。

  • HH の頂点集合は SS と一致させます。

  • その後、 HH に以下のように辺を追加します。

  • i,jinS,i<ji,j \\in S, i < j を満たす全ての頂点対 (i,j)(i,j) について、 GG 中に i,ji,j を結ぶ辺が存在すれば、 HH にも i,ji,j を結ぶ辺を追加する。

完全二分木とは? 完全二分木とは、以下の全ての条件を満たす根付き木です。

  • 葉以外の全ての頂点が、ちょうど 22 つの子を持つ。
  • 全ての葉が根から等距離にある。

ただし、頂点が 11 つで辺が 00 本のグラフも完全二分木であるものとします。

制約

  • 入力は全て整数
  • 1leNle3times1051 \\le N \\le 3 \\times 10^5
  • 1lePi<i1 \\le P_i < i

入力

入力は以下の形式で標準入力から与えられる。

NN P2P_2 P3P_3 dots\\dots PNP_N

出力

NN 行出力せよ。 そのうち ii ( 1leileN1 \\le i \\le N ) 行目には k=ik=i についての答えを整数として出力せよ。


入力例 1

10
1 1 2 1 2 5 5 5 1

出力例 1

1
1
2
2
4
4
4
5
7
10
  • kge1k \\ge 1 であるとき 1\\{1\\}
  • kge3k \\ge 3 であるとき 1,2,3\\{1,2,3\\}
  • kge5k \\ge 5 であるとき 1,2,5,1,3,5\\{1,2,5\\},\\{1,3,5\\}
  • kge8k \\ge 8 であるとき 1,2,4,5,6,7,8\\{1,2,4,5,6,7,8\\}
  • kge9k \\ge 9 であるとき 1,2,4,5,6,7,9,1,2,4,5,6,8,9\\{1,2,4,5,6,7,9\\},\\{1,2,4,5,6,8,9\\}
  • k=10k = 10 であるとき 1,2,10,1,3,10,1,5,10\\{1,2,10\\},\\{1,3,10\\},\\{1,5,10\\}

が数えるべき頂点の選び方となります。


入力例 2

1

出力例 2

1

N=1N=1 である場合、入力の 22 行目は空行です。


入力例 3

10
1 2 3 4 5 6 7 8 9

出力例 3

1
1
1
1
1
1
1
1
1
1

入力例 4

13
1 1 1 2 2 2 3 3 3 4 4 4

出力例 4

1
1
2
4
4
4
4
4
7
13
13
19
31