#arc130d. [arc130_d]Zigzag Tree

[arc130_d]Zigzag Tree

問題文

NN 頂点からなる木が与えられます。頂点には 11 から NN までの番号がついており、ii 番目の辺は頂点 aia_ibib_i を結んでいます。

正整数列 P=(P1,P2,ldots,PN)P = (P_1, P_2, \\ldots, P_N) であって、以下の条件を満たすものの個数を 998244353998244353 で割った余りを求めてください。

  • 1leqPileqN1\\leq P_i\\leq N
  • ineqji\\neq j ならば PineqPjP_i\\neq P_j
  • 1leqa,b,cleqN1\\leq a, b, c\\leq N に対して頂点 aa と 頂点 bb、頂点 bb と頂点 cc がともに隣接しているならば、Pa<Pb>PcP_a < P_b > P_c または Pa>Pb<PcP_a > P_b < P_c が成り立つ。

制約

  • 2leqNleq30002\\leq N\\leq 3000
  • 1leqai,bileqN1\\leq a_i, b_i\\leq N
  • 入力されるグラフは木である

入力

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

NN a1a_1 b1b_1 a2a_2 b2b_2 vdots\\vdots aN1a_{N-1} bN1b_{N-1}

出力

答えを出力してください。


入力例 1

3
1 2
2 3

出力例 1

4

条件を満たす PP は以下の 44 通りです。

  • P=(1,3,2)P = (1, 3, 2)
  • P=(2,1,3)P = (2, 1, 3)
  • P=(2,3,1)P = (2, 3, 1)
  • P=(3,1,2)P = (3, 1, 2)

入力例 2

4
1 2
1 3
1 4

出力例 2

12

入力例 3

6
1 2
2 3
3 4
4 5
5 6

出力例 3

122

入力例 4

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

出力例 4

19080