AT_wtf22_day1_c Shrink the Tree
Description
[problemUrl]: https://atcoder.jp/contests/wtf22-day1-open/tasks/wtf22_day1_c
$ 1 $ から $ N $ までの番号のついた $ N $ 頂点からなる木 $ T $ が与えられます. $ i $ 番目の辺は頂点 $ A_i $ と $ B_i $ を結んでいます.
あなたは以下の操作を好きな回数 ($ 0 $ 回でもよい) 行うことができます.
- $ T $ の $ 2 $ つの葉 $ u,v $ であって,その距離が奇数であるものを選ぶ. そして,$ u,v $ を(それらに接続する辺とともに) $ T $ から削除する.
ここで,ある頂点が葉であるとは,操作を行おうとする時点でその次数がちょうど $ 1 $ であることを意味します. また,$ 2 $ つの頂点の距離とは,その頂点間を結ぶパスに含まれる辺の個数です.
操作後の $ T $ に含まれる頂点集合としてありうるものが何通りあるかを $ 998244353 $ で割ったあまりを求めてください.
Input Format
入力は以下の形式で標準入力から与えられる.
> $ N $ $ A_1 $ $ B_1 $ $ A_2 $ $ B_2 $ $ \vdots $ $ A_{N-1} $ $ B_{N-1} $
Output Format
答えを出力せよ.
Explanation/Hint
### 制約
- $ 2\ \leq\ N\ \leq\ 150 $
- $ 1\ \leq\ A_i,B_i\ \leq\ N $
- 入力で与えられるグラフは木である.
- 入力される値はすべて整数.
### Sample Explanation 1
$ 1 $ 度も操作を行わないことで,頂点集合 $ \{1,2,3,4\} $ を得ることができます. $ T $ の葉 $ 1,4 $ を消すことで,頂点集合 $ \{2,3\} $ を得ることができます. ここから更に葉 $ 2,3 $ を消すことで,頂点集合 $ \{\} $ を得ることができます.