对于一个长度为 $n$ 的排列 $p$,我们定义 $f(p)$ 表示前缀最大值的位置。
具体来说,$f(p) = \{i \mid 1 \le i \le n, \text{ s.t. } \forall 1 \le j < i, p_i > p_j\}$。
类似地,设 $g(p)$ 表示前缀最大值的值的集合,即 $g(p) = \{p_i \mid i \in f(p)\}$。
现在,从所有长度为 $n$ 的排列中独立且均匀随机地选择 $k$ 个排列 $p_1, p_2, \dots, p_k$(可以重复)。小 A 想知道在这些排列中,期望有多少个本质不同的 $g(p)$?目标是求出在 $g(p_1), g(p_2), \dots, g(p_k)$ 中,期望有多少个本质不同的集合?答案应对 $998244353$ 取模。
输入格式
仅一行,包含两个整数 $n, k$ ($1 \le n, k \le 5000$)。
输出格式
仅一行,包含一个整数,表示答案对 $998244353$ 取模后的结果。
样例
输入 1
1 1
输出 1
1
输入 2
3 2
输出 2
388206139
输入 3
3 4
输出 3
408232647
输入 4
112 646
输出 4
928854225
说明
对于第一个样例,答案为 $1$。
对于第二个样例,答案为 $\frac{31}{18}$。
对于第三个样例,答案为 $\frac{1711}{648}$。