有 $N$ 个烤面包机,从左到右编号为 $1$ 到 $N$。最初,每个烤面包机里都有一片面包。有 $M$ 个人,编号为 $1$ 到 $M$,他们依次寻找面包,从第 $1$ 个人开始,接着是第 $2$ 个人,以此类推。
第 $i$ 个人从第 $a_i$ ($1 \le a_i \le N$) 个烤面包机开始向右寻找,直到找到一个有面包的烤面包机。换句话说,第 $i$ 个人寻找满足 $a_i \le j \le N$ 且第 $j$ 个烤面包机内有面包的最小的 $j$。如果存在这样的烤面包机,第 $i$ 个人将取走其中的面包并离开;此后该烤面包机变为空。如果不存在这样的烤面包机,第 $i$ 个人将空手离开。
如果对于所有的 $1 \le i \le M$,第 $i$ 个人从第 $a_i$ 个烤面包机开始寻找且没有空手离开,则称起始序列 $(a_1, a_2, \dots, a_M)$ 是公平的。在所有 $N^M$ 种可能的起始序列中,确定有多少种是公平的,结果对 $998\,244\,353$ 取模。
输入格式
输入包含两个整数 $N$ 和 $M$ ($1 \le M \le N \le 200\,000$),表示烤面包机的数量和人数。
输出格式
输出一个整数,表示公平的起始序列的数量,结果对 $998\,244\,353$ 取模。
样例
样例输入 1
4 3
样例输出 1
50
说明 1
其中一个公平的起始序列是 $(4, 2, 2)$。首先,第 $1$ 个人从第 $4$ 个烤面包机开始寻找,并取走第 $4$ 个烤面包机里的面包。然后,第 $2$ 个人从第 $2$ 个烤面包机开始寻找,并取走第 $2$ 个烤面包机里的面包。最后,第 $3$ 个人从第 $2$ 个烤面包机开始寻找,但该烤面包机当前为空。第 $3$ 个人移动到第 $3$ 个烤面包机并取走其中的面包。由于每个人都得到了一片面包,因此起始序列 $(4, 2, 2)$ 是公平的。
其他公平的起始序列示例包括 $(1, 1, 1), (1, 1, 2), (2, 3, 4)$ 和 $(2, 2, 2)$。一些不公平的起始序列包括 $(3, 3, 3), (3, 4, 3), (4, 4, 1)$ 和 $(4, 4, 4)$。
样例输入 2
10 1
样例输出 2
10
说明 2
所有起始序列都是公平的。
样例输入 3
2 2
样例输出 3
3
说明 3
唯一不公平的起始序列是 $(2, 2)$。第 $1$ 个人从第 $2$ 个烤面包机开始寻找并取走面包。然后,第 $2$ 个人从第 $2$ 个烤面包机开始寻找,但该烤面包机当前为空。由于第 $2$ 个烤面包机右侧没有更多的烤面包机,第 $2$ 个人将空手离开。