#arc154e. [arc154_e]Reverse and Inversion

[arc154_e]Reverse and Inversion

問題文

(1,2,dots,N)(1,2,\\dots,N) の順列 Q=(Q1,Q2,dots,QN)Q=(Q_1,Q_2,\\dots,Q_N) に対する以下の値を f(Q)f(Q) と置きます。

1lei<jleN1 \\le i < j \\le N かつ Qi>QjQ_i > Q_j を満たす整数の組 (i,j)(i,j) 全てに対する jij-i の総和

(1,2,dots,N)(1,2,\\dots,N) の順列 P=(P1,P2,dots,PN)P=(P_1,P_2,\\dots,P_N) が与えられます。

以下の操作を MM 回繰り返します。

  • 1leilejleN1 \\le i \\le j \\le N を満たす整数の組 (i,j)(i,j) を選ぶ。Pi,Pi+1,dots,PjP_i,P_{i+1},\\dots,P_j を反転する。厳密には、Pi,Pi+1,dots,PjP_i,P_{i+1},\\dots,P_j の値を Pj,Pj1,dots,PiP_j,P_{j-1},\\dots,P_i の値に同時に置き換える。

操作を行う方法は left(fracN(N+1)2right)M\\left(\\frac{N(N+1)}{2}\\right)^{M} 通りありますが、その全てに対して操作終了後の f(P)f(P) を求めたとします。

これらの left(fracN(N+1)2right)M\\left(\\frac{N(N+1)}{2}\\right)^{M} 個の値の総和を 998244353998244353 で割ったあまりを求めてください。

制約

  • 1leN,Mle2times1051 \\le N,M \\le 2 \\times 10^5
  • (P1,P2,dots,PN)(P_1,P_2,\\dots,P_N)(1,2,dots,N)(1,2,\\dots,N) の順列である。

入力

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

NN MM P1P_1 P2P_2 dots\\dots PNP_N

出力

答えを 11 行に出力せよ。


入力例 1

2 1
1 2

出力例 1

1

あり得る操作は以下の 33 通りです。

  • (i,j)=(1,1)(i,j)=(1,1) を選ぶ。P=(1,2)P=(1,2) となる。f(P)=0f(P)=0 である。
  • (i,j)=(1,2)(i,j)=(1,2) を選ぶ。P=(2,1)P=(2,1) となる。f(P)=1f(P)=1 である。
  • (i,j)=(2,2)(i,j)=(2,2) を選ぶ。P=(1,2)P=(1,2) となる。f(P)=0f(P)=0 である。

よって、答えは 0+1+0=10+1+0=1 です。


入力例 2

3 2
3 2 1

出力例 2

90

入力例 3

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

出力例 3

543960046