掌声如雷鸣
题号:NC263887
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

越过风声和雨声,越发激昂,
她的声音在方寸之地回荡。
更远,更高,绝不止息——绝不。
坐拥观众和剧场,国王尚在,
仍自以为无限宇宙之王。

Alice 身处游戏世界。

该游戏世界有 n 个城市,城市之间由 (n-1) 条长度为 1 的道路相连,使得两两城市都直接或间接相连。
Alice 有一个旅行计划,该旅行计划用一个点集 S 描述,表示 Alice 要去这些城市参观,但参观顺序是不定的。具体来说,Alice 执行旅行计划的方法如下:

  1. 初始时,Alice 位于 1 号城市。
  2. 假设目前 Alice 位于城市 x: 
    1. 若 S 为空集,花费 \text{dis(1,x)} 枚金币回到 1 号城市,结束旅行。
    2. 否则 Alice 会从 S 中选择一个节点 y 作为下一个目的地,然后花费 \text{dis}(x,y) 枚金币前往参观,并将 y 从 S 中删去。然后 Alice 重新读档,回到 \{x \rightarrow y\} 路径上的一个节点。读档不花费金币。 
  3. 重复步骤二直至结束旅行。

你以为 Alice 会让你对于 S 求最少花费吗?不,Alice 是聪明的。对于旅行计划 S,ta 一定会选择花费金币最少的方案。
旅行结束后的第 114514 天,Alice 已经忘记旅行计划 S 了,但是 ta 记得一共花费了 k 枚金币。现在 ta 想知道有多少可能的旅行计划。
由于答案可能很大,请输出答案对 998244353 取模的结果。

再次提醒,S 是集合,无重复元素且无序。

输入描述:

第一行两个数 n,k

接下来 (n-1) 行,每行两个数 u,v,表示 u,v 城市之间有道路相连。

输出描述:

输出为一个数,即答案对 998244353 取模的结果。
示例1

输入

复制
5 3
1 2
1 3
3 4
3 5

输出

复制
8

说明

S=\{2,4\},\{2,5\},\{3,4\},\{3,5\},\{1,2,4\},\{1,2,5\},\{1,3,4\},\{1,3,5\}

S=\{3,4\} 为例:

\quad 先参观城市 4,花费 \text{dis}(1,4)=2 枚金币。
\quad 读档,返回 \{1 \rightarrow 4\} 上的城市 3
\quad 参观城市 3,无花费。
\quad 读档,仍然位于城市 3
\quad 回到城市 1,花费 \text{dis}(1,3)=1 枚金币。

总花费为 1+2=3
示例2

输入

复制
16 8
1 2
2 3
2 4
4 6
4 12
4 13
4 14
4 16
1 5
5 15
1 8
6 7
6 9
9 10
10 11

输出

复制
1294

备注:

对于所有数据,2\le n \le 5 \times 10^3,0 \le k \le n^2,1\le u,v \le n