KUPC 2025 (Open) 2026/03/28 09:00 ~ 2026/03/28 14:00 5:00:00.000

G The Symbolic Tree

問題
制限時間: 2 sec メモリ制限: 1024 MB
The Symbolic Tree
Statement

京都大学にはシンボルツリーの立派なクスノキがあります。

K君はこのクスノキに感銘を受け、クスノキを \(N\) 頂点の根付き木として模写しました。

木の各頂点には \(1,2,\dots,N\) の番号が付いており、木の根は頂点 \(1\) であり、 \(i\) 本目の辺は頂点 \(u_i\) と頂点 \(v_i\) とを結びます。

ただ木を模写しただけではつまらないと考えたK君は、以下の 条件 を満たすように、木の各頂点に非負整数を書き込みます。

条件

  • 根に書かれた整数は \(K\) である。

  • 根以外の各頂点について、その頂点に書かれた整数は、その頂点の親に書かれた整数以下である

木の頂点への整数の書き込み方としてありうるものの数を \(998244353\) で割った余りを求めてください。

ただし、木の頂点への整数の書き込み方は、ある頂点が存在してそこに書き込まれた整数が異なる、またその時に限り区別されます。

Input

\(1\) 行目に整数 \(N,K\) が空白区切りで与えられる。 ( \(2 \leq N \leq 3000, 1 \leq K \leq 10^9\) )

続く \(N-1\) 行のうち \(i\) 行目には、木の辺を表す整数 \(u_i,v_i\) が空白区切りで与えられる。

部分点: \(N=K\) のケースにすべて正答すると \(1\) 点が得られる。

Output

答えとなる整数を \(998244353\) で割った余りを出力してください。

Examples

Input 1
5 1
1 2
1 3
3 4
3 5
Output 1
10
Input 2
16 16
15 14
15 11
7 10
14 2
4 6
14 16
5 3
1 5
12 11
5 7
2 9
13 10
5 14
9 6
8 1
Output 2
623173536

Note

\(1\) つ目のサンプルについて、条件を満たす頂点 \(1,2,3,4,5\) への整数の書き込み方は以下の \(10\) 通りです。

  • \(1,0,0,0,0\)
  • \(1,0,1,0,0\)
  • \(1,0,1,0,1\)
  • \(1,0,1,1,0\)
  • \(1,0,1,1,1\)
  • \(1,1,0,0,0\)
  • \(1,1,1,0,0\)
  • \(1,1,1,0,1\)
  • \(1,1,1,1,0\)
  • \(1,1,1,1,1\)