在 Never 共和国有 $n$ 座城市和 $n-1$ 条道路。城市编号为 $1$ 到 $n$。每条道路连接两座城市,且可以双向通行。通过这些道路,任意两座城市之间都是连通的。定义 $d(u, v)$ 为从城市 $u$ 到城市 $v$ 所需经过的最少道路数量。
有 $k$ 位朋友想要聚会。第 $i$ 位朋友住在城市 $a_i$。为了聚会,朋友们会选择一座城市 $v$,使得 $\sum_{i=1}^{k} d(v, a_i)$ 最小。如果存在多个这样的城市,他们会选择其中编号最小的那一个。
不幸的是,你只知道朋友的数量,而不知道他们居住的城市。每位朋友可能住在 $n$ 座城市中的任意一座;因此,总共有 $n^k$ 种可能的情况。你需要计算在所有 $n^k$ 种情况中,朋友们选择的城市编号之和。输出该和对 $998\,244\,353$ 取模的结果。
输入格式
第一行包含两个整数 $n$ 和 $k$ ($2 \le n, k \le 30\,000$),分别表示城市数量和朋友数量。
接下来的 $n-1$ 行,每行包含两个整数 $u_i$ 和 $v_i$ ($1 \le u_i, v_i \le n; u_i \neq v_i$),表示第 $i$ 条道路连接的城市编号。
保证任意两座城市之间均可通过道路到达。
输出格式
输出在所有 $n^k$ 种情况中,朋友们选择的城市编号之和,对 $998\,244\,353$ 取模的结果。
样例
样例输入 1
3 2 1 2 1 3
样例输出 1
12
样例输入 2
5 3 2 4 5 3 1 3 3 2
样例输出 2
357
说明
在第一个样例中,有三座城市和两位朋友,共有 $3^2 = 9$ 种情况需要考虑。在其中三种情况中,朋友们住在同一座城市,他们显然会选择这座城市作为聚会地点。在另外六种情况中,朋友们住在不同的城市,他们会选择城市 $1$。总和为 $(1+2+3) + 6 \cdot 1 = 12$。