#acl1e. [acl1_e]Shuffle Window

[acl1_e]Shuffle Window

問題文

(1,2,...,N)(1, 2, ..., N) の順列 p1,p2,dots,pNp_1, p_2, \\dots, p_N と整数 KK が与えられます。 maroonくんは i=1,2,dots,NK+1i = 1, 2, \\dots, N - K + 1 について、次の操作を順番に行います。

  • pi,pi+1,dots,pi+K1p_i, p_{i + 1}, \\dots, p_{i + K - 1} を一様ランダムにシャッフルする。

すべての操作の後の数列の転倒数の期待値を求め、bmod998244353\\bmod 998244353 で出力してください。

より正確には、期待値が有理数、つまりある既約分数 fracPQ\\frac{P}{Q} で表せること、更に $R \\times Q \\equiv P \\pmod{998244353}, 0 \\leq R < 998244353$ を満たす整数 RR が一意に定まることがこの問題の制約より証明できます。よって、この RR を出力してください。

また、数列 a1,a2,dots,aNa_1, a_2, \\dots, a_N の転倒数とは、i<j,ai>aji < j, a_i > a_j を満たす順序対 (i,j)(i, j) の個数とします。

制約

  • 2leqNleq200,0002 \\leq N \\leq 200,000
  • 2leqKleqN2 \\leq K \\leq N
  • (p1,p2,dots,pN)(p_1, p_2, \\dots, p_N)(1,2,dots,N)(1, 2, \\dots, N) の並び替え
  • 入力される数は全て整数である.

入力

NN KK p1p_1 p2p_2 ... pNp_N

出力

期待値を bmod998244353\\bmod 998244353 で出力せよ。


入力例 1

3 2
1 2 3

出力例 1

1

(1,2,3)(1, 2, 3), (2,1,3)(2, 1, 3), (1,3,2)(1, 3, 2), (2,3,1)(2, 3, 1) が、それぞれ frac14\\frac{1}{4} の確率で最終的な数列になります。 これらの転倒数は 0,1,1,20, 1, 1, 2 なので、期待値は 11 です。


入力例 2

10 3
1 8 4 9 2 3 7 10 5 6

出力例 2

164091855