[传智杯 #4 决赛] [yLOI2021] 染色

题目背景

传智杯 2021 决赛 G 题。

题目描述

传智专修学院的老师给小智布置了一项任务。 老师给了小智一张纸,上面画着一棵有 $n$ 个节点的树(如果你不知道什么是树,可以参考上一题对此的解释)。老师还给了小智 $m$ 支彩色笔,每支笔的颜色都是不同的。老师想要让小智用这 $m$ 种颜色给树的节点涂色,使得这棵树满足如下约束: 1. 每个节点都被涂上了这 $m$ 个颜色之一的**一种**颜色。 2. 相邻两个节点(若存在一条边直接连接 $u$ 和 $v$,则我们称 $u,v$ 相邻)的颜色是不同的。 3. 任何一种颜色被使用的次数都不能超过 $\lfloor\frac{n}{3}\rfloor + 1$。 需要指出的是,虽然每个节点都必须被涂上一种颜色,但是每个颜色并不必须被使用。 如此简单的任务难不倒小智,所以小智提出了一个更困难的问题:他想知道一共有多少种染色的方案满足老师的要求。小智不会解答这个问题,所以来求助你,请你帮他解决他的问题。 因为方案数可能非常大,你只需要输出这个方案数除以 $998,244,353$ 的余数。两种染色方案不同当且仅当存在一个节点 $u$,使得 $u$ 在两种方案种被染上的颜色不同。

输入输出格式

输入格式


第一行是两个整数,依次表示树的节点数 $n$ 和颜色的个数 $m$。 接下来 $(n - 1)$ 行,每行两个整数 $u, v$,表示树上有一条连接 $u, v$ 的边。

输出格式


输出一行一个整数,表示方案数除以 $998,244,353$ 的余数。

输入输出样例

输入样例 #1

4 4
1 2
1 3
3 4

输出样例 #1

108

输入样例 #2

3 3
1 2
1 3

输出样例 #2

12

输入样例 #3

5 5
1 2
1 3
2 4
3 5

输出样例 #3

1200

输入样例 #4

5 5
1 2
1 3
2 4
2 5

输出样例 #4

1140

输入样例 #5

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

输出样例 #5

929376

输入样例 #6

6 6
1 2
1 3
3 4
4 5
3 6

输出样例 #6

18750

输入样例 #7

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

输出样例 #7

688946281

说明

### 数据规模与约定 对于全部的测试点,保证 $1 \leq u, v \leq n\leq 100$,$n \leq m \leq 10^6$,保证给出的是一棵树。 ### 提示 **请注意常数因子对程序效率造成的影响**。