T237498 Lottery

题目描述

小 F 设计了一个抽奖游戏。 有 $n$ 个人参加游戏,每个人都有一些中奖号码。 总共有 $m$ 个号码。游戏开始前会先产生一个号码的排列,每一轮的时候会出现当前位置对应的号码。如果当前这轮过后有人手里所有的中奖号码均已经出现,则这个人中奖,游戏立即结束。 现在,小 F 很想知道对全部的 $m!$ 种号码序列,游戏进行到第几轮才会结束。你需要输出这 $m!$ 个答案的和对 $998244353$ 取模的值。

输入格式

输出格式

说明/提示

**【样例 $1$ 解释】** 共有 $6$ 种可能的号码序列。 对于以 $1$ 开头的两种序列,玩家 $1$ 直接获胜,此时答案为 $1$; 对于不以 $1$ 开头的四种序列,即 $\text{2 1 3 , 2 3 1 , 3 1 2 , 3 2 1}$,第二轮也一定有人获胜,此时答案为 $2$; 故输出的结果为 $2\times1+4\times2=10$。 **【数据规模与约定】** **本题开启捆绑测试。** |子任务编号|$n$|$m$|分值| | :-----------: | :-----------: | :-----------: | :-----------: | |$\text{Subtask 1}$|$\leqslant 10$|$\leqslant 10$|$20$| |$\text{Subtask 2}$|$\leqslant 20$|$\leqslant 5000$|$40$| |$\text{Subtask 3}$|$\leqslant 5000$|$\leqslant 20$|$40$| 对于所有数据,保证 $1\leqslant n\leqslant 5000,1\leqslant m\leqslant 5000$,每个人至少有一个中奖号码。**请注意,没有一个子任务的数据范围全部为最大限制。**