#abc226f. [abc226_f]Score of Permutations

[abc226_f]Score of Permutations

问题描述

对于排列 P=(p1,p2,,pN)P = (p_1, p_2, \dots, p_N),定义 PP 的分数 S(P)S(P) 如下。

  • NN 个人,编号 1,2,,N1, 2, \dots, N。此外,Snuke 也在那里。初始时,第 ii 个人 (1iN)(1 \leq i \leq N) 拥有球 ii
    每当 Snuke 尖叫时,满足 ipii \neq p_i 的每个人 ii 同时将他们的球给予第 pip_i 个人。
    如果至少尖叫一次后,每个人 ii 都拥有球 ii,则 Snuke 停止尖叫。
    分数是 Snuke 尖叫直到他停止的次数。在这里,保证分数是有限值。

(1,2,,N)(1,2, \dots, N)N!N! 种排列 PP。求这些排列的分数的和,取模 998244353998244353,每个排列的分数都被提升到第 KK 次方。

  • 正式地说,设 SNS_N(1,2,,N)(1,2, \dots, N) 的排列集合。计算以下值:$\\displaystyle \\left(\\sum_{P \\in S_N} S(P)^K \\right) \\bmod {998244353}$。

约束条件

  • 2N502 \leq N \leq 50
  • 1K1041 \leq K \leq 10^4
  • 输入中的所有值均为整数。

输入

输入以以下格式从标准输入给出:

NN KK

输出

打印 $\\displaystyle \\left(\\sum_{P \\in S_N} S(P)^K \\right) \\bmod {998244353}$。

示例输入 1

2 2

示例输出 1

5

N=2N = 2 时,有两个可能的排列 PP(1,2),(2,1)(1,2),(2,1)

排列 (1,2)(1,2) 的分数计算如下。

  • 初始时,第 11 个人拥有球 11,第 22 个人拥有球 22
    在 Snuke 第一次尖叫后,第 11 个人拥有球 11,第 22 个人拥有球 22
    在这里,每个人 ii 都拥有球 ii,所以他停止尖叫。
    因此,分数为 11

排列 (2,1)(2,1) 的分数计算如下。

  • 初始时,第 11 个人拥有球 11,第 22 个人拥有球 22
    在 Snuke 第一次尖叫后,第 11 个人拥有球 22,第 22 个人拥有球 11
    在 Snuke 第二次尖叫后,第 11 个人拥有球 11,第 22 个人拥有球 22
    在这里,每个人 ii 都拥有球 ii,所以他停止尖叫。
    因此,分数为 22

因此,这种情况的答案是 12+22=51^2 + 2^2 = 5

示例输入 2

3 3

示例输出 2

79

所有排列及其分数如下所示。

  • (1,2,3)(1,2,3): 分数为 11
  • (1,3,2)(1,3,2): 分数为 22
  • (2,1,3)(2,1,3): 分数为 22
  • (2,3,1)(2,3,1): 分数为 33
  • (3,1,2)(3,1,2): 分数为 33
  • (3,2,1)(3,2,1): 分数为 22

因此,我们应该打印 13+23+23+33+33+23=791^3 + 2^3 + 2^3 + 3^3 + 3^3 + 2^3 = 79

示例输入 3

50 10000

示例输出 3

77436607