# 「FAOI-R2」梨花开 (C)

## 题目背景

> 忽如一夜春风来，千树万树梨花开。

雪，覆盖了大漠上的一颗颗树，仿佛朵朵梨花盛开。但是令 krjt 意想不到的是，这些树居然真的是梨树！

## 题目描述

给你一颗以 $1$ 为根的树，初始时每个点都是白色，每个点有两个权值 $a_i,b_i$，初始时所有点的两个权值都为 $0$，但 $a_1=k$。

我们通过如下操作定义一个序列 $\{v_t\}$ 的权值：
- 从小到大度过 $1,2,3,\dots,t$ 这 $t$ 个时刻。
- 在第 $x$ 个时刻，对于 $i\in[1,n]$，执行 $b_i\gets b_i+v_x$。
- 对于父子 $(u,v)$，设 $u$ 为父亲，可以选定整数 $h\in[0,a_u]$ 执行操作 $a_u\gets a_u-h$，$a_v\gets a_v+h$，之后该时刻内形如 $(v,w)$ 且 $v$ 为父亲的父子不能操作。
- 若一个点 $i$ 满足 $a_i+b_i<0$，将 $i$ 以及 $i$ 的子树中的点染成黑色。
- 执行最优操作以最大化白点个数，该序列权值即为最大白点个数。

定义一个序列 $\{v_t\}$ 合法仅当 $\forall i\in[1,t]$，$\lvert v_i\rvert\in[0,m]$。给定 $t$，求出所有合法序列 $\{v_t\}$ 的权值之和对 $998244353$ 取模的值。

### 原题面

krjt 的目光注视在一棵以 $1$ 号结点为根的，$n$ 个结点的梨树上。

这颗梨树的每个点在每一刻都可以做**任意次**以下操作：将自己的**基本**热量提供**任意正整数量**给某个儿子。

**但需要注意的是，在同一个时刻里，只有当一个结点的所有儿子结束操作后，该结点才能操作。**

雪纷纷地下着，梨树在 $t$ 个时刻的冬天里，第 $i$ 天**所有操作完成后**每个结点的都会加上 $v_i$ 点**附加**热量，若**加上后**该结点的**总**热量仍然 $<0$ 则会连同它的子树一起冻死（自动与其祖先断开，掉到地上）。每个 $v_i$ 都是 $[-m,m]$ 中的一个不确定的整数值。

梨树定义一个序列 $\{v_t\}$ 的价值为它作为每时刻增加的热量时，梨树最多保留的结点数。

梨树不愿在这个冬天死去，希望求出所有方案的价值和，以保留尽量多的结点迎接春天，绽放花朵。因为在冬天前，它的根结点储蓄了 $k$ 点**基本**热量（和 $0$ 点附加热量，其他结点储蓄了 $0$ 点热量），这是自知活不过冬天的伙伴给它的。

而它伙伴在最后一点意识隐隐消失时，仿佛能够看到：一夜春风轻抚，冰雪消融，树林里朵朵梨花开……

答案对 $998244353$ 取模。

## 输入格式

第一行四个非负整数 $n,m,t,k$，分别表示树的结点个数，$v_i$ 的取值范围，冬天的时长，根结点原本存储的热量。

接下来 $n-1$ 行，每行两个正整数 $u,v$，表示 $u$ 号结点与 $v$ 号结点之间有一条边。

## 输出格式

输出所有 $(2m+1)^{t}$ 种情况的答案的**和对 $998244353$ 取模**后的结果。

## 样例 #1

### 样例输入 #1

```
1 1 1 1
```

### 样例输出 #1

```
3
```

## 样例 #2

### 样例输入 #2

```
3 1 2 2
1 2
1 3
```

### 样例输出 #2

```
22
```

## 样例 #3

### 样例输入 #3

```
5 2 3 5
1 2
2 3
2 4
4 5
```

### 样例输出 #3

```
407
```

## 样例 #4

### 样例输入 #4

```
10 5 6 44
1 2
1 3
2 5
2 6
3 4
6 7
6 8
4 9
9 10
```

### 样例输出 #4

```
10465095
```

## 提示

样例 $3$ 解释：

对于一种 $\{v_3\}=\{1,0,-2\}$ 的情况，一种最优操作如下：
- 第一个时刻，$1$ 号结点传递 $4$ 热量给 $2$ 号结点，操作完毕并增加 $v_1=1$ 后每个结点的热量分别为 $2,5,1,1,1$。
- 第二个时刻，$2$ 号结点传递 $2$ 热量给 $4$ 号结点，操作完毕并增加 $v_2=0$ 后每个结点的热量分别为 $2,3,1,3,1$。
- 第三个时刻，$2$ 号结点传递 $1$ 热量给 $3$ 号结点，$4$ 号结点传递 $1$ 热量给 $5$ 号结点，操作完毕并增加 $v_3=-2$ 后每个结点的热量分别为 $0,0,0,0,0$。
- 第四个时刻，冬天过去，$5$ 个结点全部存活。

样例 $4$ 解释：

对于一种 $\{v_{6}\}=\{1,2,1,2,1,2\}$ 的情况，一种最优操作如下：
- 每个时刻都不进行操作。
- 第 $7$ 个时刻，冬天过去，$5$ 个结点全部存活。

------------

**本题采用捆绑测试。**

| Subtask 编号 | $n \le$ | $m \le$ | $t \le$ | $k \le$ | 分值 |
| :----------: | :----------: | :----------: | :----------: | :----------: | :----------: |
| $0$ | $4$ | $4$ | $4$ | $40$ | $20$ |
| $\color{red}1$ | $\color{red}2 \times 10^5$ | $\color{red}20$ | $\color{red}20$ | $\color{red}1 \times 10^5$ | $\color{red}10$ |
| $2$ | $2 \times 10^5$ | $20$ | $20$ | $3 \times 10^5$ | $20$ |
| $3$ | $2 \times 10^5$ | $50$ | $100$ | $3 \times 10^5$ | $10$ |
| $4$ | $2 \times 10^5$ | $50$ | $500$ | $3 \times 10^5$ | $40$ |

**特殊性质：对于 Subtask 1，保证树的形态是菊花。**

对于 $100\%$ 的数据，$1\leq n\leq 2\times 10^5$，$1\leq k\leq 3\times 10^5$，$1\leq m\leq 50$，$1\leq t\leq 500$，保证输入构成一棵树。