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

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

题目描述

对于一个排列 A=(a1,a2,,an)A=(a_1,a_2,\cdots,a_n),定义价值 cic_ia1a_1ai1a_{i-1} 中小于 aia_i 的数的个数,即 ci={ajj<i,aj<ai}c_i=|\{a_j|j<i,a_j<a_i\}|。定义 AA 的价值为 i=1nci\displaystyle \sum_{i=1}^{n}c_i

给定 nn,求 11nn 的全排列中所有排列的价值之和。

输入格式

输入一行包含一个整数 nn

输出格式

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

3
9
2022
593300958

提示

样例说明

1133 构成的所有排列的价值如下:

$$\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=93+2+2+1+1=9

评测用例规模与约定

  • 对于 40%40\% 的评测用例,n20n \leq 20
  • 对于 70%70\% 的评测用例,n5000n \leq 5000
  • 对于所有评测用例,2n1062 \leq n \leq 10^6