#arc146f. [arc146_f]Simple Solitaire

[arc146_f]Simple Solitaire

問題文

(1,2,dots,N)(1,2,\\dots,N) の順列 PP を用意して、次の操作を行います。

NN 枚のカードがあります。これらのカードには 11 から NN の番号がついてます。カード ii には PiP_i が書かれています。

整数 X=1X=1 があります。はじめ PCT 君は何も持っていません。PCT 君は以下の操作を i=1,2,dots,Ni=1,2,\\dots,N の順で行います。

  • カード ii を手に入れる。その後、XX が書かれたカードを持っている限り以下の行動を繰り返す。

  • XX の書かれているカードを食べ、XX11 増やす。

  • 現在持っているカードの枚数が MM 枚以上の場合、持っているカードを全て捨てて操作を終了する。これ以降も操作は行わない。

ここで、以下のように順列 PP のスコアを定義します。

  • カードが捨てられて操作が終わった場合、PP のスコアを 00 とする。
  • カードが捨てられずに操作が最後まで行われた場合、PP のスコアを prodi=1N1\\prod_{i=1}^{N-1} (i(i 回目の操作終了時に PCT 君が持っているカードの枚数 )) とする。

PP としてあり得るものは N!N! 通りありますが、そのすべてに対してスコアの総和を 998244353998244353 で割ったあまりを出力してください。

制約

  • 2leNle2times1052 \\le N \\le 2 \\times 10^5
  • 2leMleN2 \\le M \\le N
  • 入力は全て整数である。

入力

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

NN MM

出力

答えを出力せよ。


入力例 1

3 2

出力例 1

1

P=(3,1,2)P=(3,1,2) の場合、以下のように操作が行われます。

  • 11 回目の操作
    • PCT 君がカード 11 を手に入れる。
    • 現在持っているカードの枚数は 11 枚なので、操作を続行する。
  • 22 回目の操作
    • PCT 君がカード 22 を手に入れる。
    • カード 22 を食べ、XX22 にする。
    • 現在持っているカードの枚数は 11 枚なので、操作を続行する。
  • 33 回目の操作
    • PCT 君がカード 33 を手に入れる。
    • カード 1,31,3 を食べ、XX44 にする。
    • 現在持っているカードの枚数は 00 枚なので、操作を続行する。

操作が最後まで行われたため、(3,1,2)(3,1,2) のスコアは 1times1=11 \\times 1 = 1 です。

(3,1,2)(3,1,2) 以外にスコアが 11 以上になる順列は存在しないため、解は 11 です。


入力例 2

3 3

出力例 2

5

入力例 3

146146 146

出力例 3

103537573