题目描述
对于一个排列 Q=(Q1,Q2,dots,QN),其中 Q 是 (1,2,dots,N) 的排列,定义 f(Q) 如下:
对于所有满足 1lei<jleN 且 Qi>Qj 的整数对 (i,j),求 j−i 的和。
给定一个排列 P=(P1,P2,dots,PN),其中 P 是 (1,2,dots,N) 的排列。
重复以下操作 M 次:
- 选择一个整数对 (i,j),使得 1leilejleN。交换 Pi,Pi+1,dots,Pj 的值,即将 Pi,Pi+1,dots,Pj 替换为 Pj,Pj−1,dots,Pi。
共有 left(fracN(N+1)2right)M 种重复操作的方式。假设我们已经计算了所有这些方式下的 f(P)。
求这 left(fracN(N+1)2right)M 个值的和,对 998244353 取模。
约束条件
- 1leN,Mle2times105
- (P1,P2,dots,PN) 是 (1,2,dots,N) 的排列。
输入格式
输入以以下格式从标准输入中给出:
N M
P1 P2 dots PN
输出格式
打印一行,包含答案。
样例输入 1
2 1
1 2
样例输出 1
1
可以进行以下三种操作:
- 选择 (i,j)=(1,1),得到 P=(1,2),其中 f(P)=0。
- 选择 (i,j)=(1,2),得到 P=(2,1),其中 f(P)=1。
- 选择 (i,j)=(2,2),得到 P=(1,2),其中 f(P)=0。
因此,答案是 0+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