编程题
### 问题描述
育才班的同学们刚刚学习了函数的概念,一时间全班同学都在创造各种各样奇怪的函数,有些同学把他们创造的函数嵌套了起来。
$A$ 创造了一个常见的函数 $max_{p\leq{i}\leq{q}}\left \{ a_i \right \} $,表示序列 $a_{p},a_{p+1},\dots,a_{q}$ 中最大的数。
$B$ 创造了一个没有任何运算的 $f(a)$,令 $f(a)=\left \{ max_{1\leq{i}\leq{k}}\left \{ a_i \right \},max_{2\leq{i}\leq{k+1}}\left \{ a_i \right \},\dots,max_{n-k+1\leq{i}\leq{n}}\left \{ a_i \right \}\right \}$。
$C$ 创造了一个函数 $w(a)$,表示 $a$ 中不同的数的个数。
老师看到他们创造的函数,感到很有趣,于是问了他们一个问题。老师希望他们求出,对于所有长度为 $n$ 的排列 $a$,它们的 $w(f(a))$ 之和。
### 输入格式
输入包括两个整数 $n,k$,含义见上文。
### 输出格式
输出一个整数,表示对于所有长度为 $n$ 的排列 $a$,它们的 $w(f(a))$ 之和。答案对 $998244353$ 取模。
### 样例输入
```
3 2
```
### 样例输出
```
10
```
### 评测数据规模
对于所有评测数据,$1\leq{k}\leq{n}\leq{10^5 }$。