atcoder#ARC134F. [ARC134F] Flipping Coins

[ARC134F] Flipping Coins

配点 : 10001000

問題文

1,2,,N1,2,\ldots,N の番号がついた NN 枚のコインが並べられています。 はじめ、全てのコインは表を向いています。

すぬけ君は (1,,N)(1,\ldots,N) を並び替えて得られる順列 pp を等確率で 11 つ選び NN 回操作を行います。 ii 回目の操作では以下の処理が行われます。

  • ii 番のコインが裏向きならば何もしない。
  • ii 番のコインが表向きならば ii 番のコインをひっくり返した後 pip_i 番のコインをひっくり返す。

NN 回の操作の後、表向きのコインの枚数を kk としてすぬけ君はお母さんから WkW^k 円もらえます。

すぬけ君が得られるお金の期待値に N!N! をかけた値(これは整数になることが証明できます)を 998244353998244353 で割ったあまりを求めてください。

制約

  • 与えられる入力は全て整数
  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1W<9982443531 \leq W < 998244353

入力

入力は以下の形式で標準入力から与えられる。

NN WW

出力

すぬけ君が得られるお金の期待値に N!N! をかけた値を 998244353998244353 で割った余りを出力せよ。

4 2
90
  • p=(1,4,2,3)p=(1,4,2,3) のとき、以下のように操作が行われます。- 11 回目の操作では 11 番のコインが裏向きになり、その後 11 番のコインが表向きになります。
    • 22 回目の操作では 22 番のコインが裏向きになり、その後 44 番のコインが裏向きになります。
    • 33 回目の操作では 33 番のコインが裏向きになり、その後 22 番のコインが表向きになります。
    • 44 回目の操作では何も行われません。
  • 11 回目の操作では 11 番のコインが裏向きになり、その後 11 番のコインが表向きになります。
  • 22 回目の操作では 22 番のコインが裏向きになり、その後 44 番のコインが裏向きになります。
  • 33 回目の操作では 33 番のコインが裏向きになり、その後 22 番のコインが表向きになります。
  • 44 回目の操作では何も行われません。
  • 最終的に 22 枚のコインが表向きのため、44 円もらえます。
2 100
10001
200000 12345
541410753
  • 998244353998244353 で割ったあまりを求めるのを忘れずに。