#P1100. 【UNR #10】分锅 (alt version)

【UNR #10】分锅 (alt version)

在古老的跳蚤国文化中,锅占据着神圣的地位。它不仅是比赛的常客,还是出题人【】的体现。对于比赛的参与者,他们经常能遇到比赛中新鲜出炉的、千奇百怪的小锅、中锅和大锅。按照传统,把锅分给别人是保全自身的最好手段。但如果 “不小心” 把锅扣到无关人员头上,可能会被视为对他人的不敬。

跳蚤国一共有 $k$ 位管理员,现在他们准备举办一场比赛。赛前的工作被分成了 $n$ 个部分,每个部分都有可能出锅。锅一共分为 $m$ 种,且每个部分出每种锅都有可能。

在赛前最后的检查中,没有发现任何一个锅。但在赛后,每个部分都被发现有恰好一种锅。于是管理组要给赛前工作的每个部分找一个背锅的管理员,每个管理员被分到的部分都需要构成一个区间。

显然,一个管理员的责任大小只和他背的 不同的锅种类数 有关。为了避免争执,管理组希望所有管理员背的不同的锅种类数都相同。

设第 $i$ 部分出的锅种类为 $a_i$,那么我们称这个序列是好的当且仅当存在一种把序列 $a$ 划分成 $k$ 个区间的方式,使得每个区间不同的锅种类数都相同。

请你帮管理组求出,$m^n$ 个可能的 $a$ 序列中有多少个是好的,答案对 $998244353$ 取模。

输入格式

输入一行三个正整数 $n,m,k$。

输出格式

输出一行一个整数表示答案。

5 4 2
772

下面是几种可能的填法:

  • 填成 $1,1,2,2,2$:一种划分方案为 $[1,2]$ 和 $[3,5]$。第一位管理员背的不同的锅种类数为 $1$(锅的种类为 $\{1\}$),第二位管理员背的不同的锅种类数为 $1$(锅的种类为 $\{2\}$),所有管理员背的不同的锅种类数相同。
  • 填成 $3,1,3,1,2$:一种划分方案为 $[1,3]$ 和 $[4,5]$。第一位管理员背的不同的锅种类数为 $2$(锅的种类为 $\{1,3\}$),第二位管理员背的不同的锅种类数为 $2$(锅的种类为 $\{1,2\}$),所有管理员背的不同的锅种类数相同。
  • 填成 $3,1,4,3,2$:无论如何划分,都无法使两位管理员背的不同的锅种类数相同。

数据范围

子任务编号 $n\leq $ 分值
$1$ $10$ $10$
$2$ $50$ $12$
$3$ $500$ $13$
$4$ $2000$ $14$
$5$ $5000$ $15$
$6$ $5\times 10^4$ $16$
$7$ $2\times 10^5$ $20$

$1\leq k \leq n \leq 2\times 10^5$,$1\leq m \leq 10^8$。

时间限制:$\texttt{4s}$

空间限制:$\texttt{2GB}$