P12369 [蓝桥杯 2022 省 Python B] 全排列的价值

题目描述

对于一个排列 $A=(a_1,a_2,\cdots,a_n)$,定义价值 $c_i$ 为 $a_1$ 至 $a_{i-1}$ 中小于 $a_i$ 的数的个数,即 $c_i=|\{a_j|j

输入格式

输入一行包含一个整数 $n$。

输出格式

输出一行包含一个整数表示答案,由于所有排列的价值之和可能很大,请输出这个数除以 $998244353$ 的余数。

说明/提示

### 样例说明 $1$ 至 $3$ 构成的所有排列的价值如下: $$\begin{aligned}& (1,2,3): 0+1+2=3 \\& (1,3,2): 0+1+1=2 \\& (2,1,3): 0+0+2=2 \\& (2,3,1): 0+1+0=1 \\& (3,1,2): 0+0+1=1 \\& (3,2,1): 0+0+0=0\end{aligned}$$ 故总和为 $3+2+2+1+1=9$。 ### 评测用例规模与约定 - 对于 $40\%$ 的评测用例,$n \leq 20$; - 对于 $70\%$ 的评测用例,$n \leq 5000$; - 对于所有评测用例,$2 \leq n \leq 10^6$。