#agc052f. [agc052_f]Tree Vertices XOR

[agc052_f]Tree Vertices XOR

問題文

NN 頂点の木が与えられます。 木の頂点には 11 から NN までの番号が付けられており、ii 番目の辺は頂点 ui,viu_i, v_i を結びます。

はじめ、木の各頂点には 11 という数が書かれています。

11 回の操作で、あなたは以下を行えます。

  • 木から頂点 vv を選ぶ。vv に隣接する頂点全てに書き込まれた値の XORXX であるとする。vv に書かれた値が ava_v であるとして、この値を (avmathrmXORX)(a_v\\ \\mathrm{XOR}\\ X) に置き換える。

この操作を任意の有限回(00 回も含む)行えるとして、得られる木の形態は何通りあるでしょうか。この数は大きい可能性があるため、これを 998244353998244353 で割った余りを出力してください。

ここで、木の 22 つの形態は、書かれた数が異なるような頂点 vv が存在するときに異なるとみなされます。

制約

  • 3leNle2cdot1053 \\le N \\le 2\\cdot 10^5
  • 1leui,vileN1\\le u_i, v_i \\le N
  • uineqviu_i \\neq v_i
  • 入力が表すグラフは木である。

入力

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

NN u1u_1 v1v_1 u2u_2 v2v_2 vdots\\vdots uN1u_{N-1} vN1v_{N-1}

出力

初期状態から得られる木の形態の個数を 998244353998244353 で割った余りを出力せよ。


入力例 1

4
1 2
2 3
3 4

出力例 1

10

頂点 1,2,3,41,2,3,4a,b,c,da,b,c,d が書かれている形態を abcdabcd と表すと、到達可能な形態は 11111111, 11101110, 11001100, 10001000, 01110111, 01100110, 01000100, 00110011, 00100010, 00010001 です。


入力例 2

5
1 2
1 3
1 4
1 5

出力例 2

24

入力例 3

6
1 3
2 3
3 4
4 5
4 6

出力例 3

40

入力例 4

9
1 2
2 3
1 4
4 5
1 6
6 7
7 8
8 9

出力例 4

255