#ATarc134f. [ARC134F] Flipping Coins

[ARC134F] Flipping Coins

题目描述

NN 枚编号为 1,2,,N1,2,\ldots,N 的硬币排成一排。开始时,所有硬币均为正面朝上。

すぬけ君等概率地选择一个 11NN 的排列 pp,并进行 NN 次操作。第 ii 次操作如下:

  • 如果第 ii 枚硬币为反面,则什么都不做。
  • 如果第 ii 枚硬币为正面,则先将第 ii 枚硬币翻面,然后再将第 pip_i 枚硬币翻面。

经过 NN 次操作后,设正面朝上的硬币有 kk 枚,すぬけ君可以从妈妈那里获得 WkW^k 日元。

请计算すぬけ君最终获得金额的期望值乘以 N!N! 后对 998244353998244353 取模的结果(可以证明该值为整数)。

输入格式

输入为一行,包含两个整数:

NN WW

输出格式

输出すぬけ君最终获得金额的期望值乘以 N!N! 后对 998244353998244353 取模的结果。

样例 1

输入

4 2

输出

90

样例 2

输入

2 100

输出

10001

样例 3

输入

200000 12345

输出

541410753

说明/提示

限制条件

  • 所有输入均为整数。
  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1W<9982443531 \leq W < 998244353

样例解释 1

  • p=(1,4,2,3)p=(1,4,2,3) 时,操作如下:
    • 11 次操作时,第 11 枚硬币变为反面,之后第 11 枚硬币又变为正面。
    • 22 次操作时,第 22 枚硬币变为反面,之后第 44 枚硬币变为反面。
    • 33 次操作时,第 33 枚硬币变为反面,之后第 22 枚硬币变为正面。
    • 44 次操作时,不进行任何操作。
    • 最终有 22 枚硬币为正面,因此可以获得 44 日元。

样例解释 3

  • 不要忘记对 998244353998244353 取模。

由 ChatGPT 4.1 翻译