CF BUDDY
← Problems·

1091D · New Year and the Permutation Concatenation

1700 · combinatorics, dp, math

Problem: Let nn be an integer. Consider all permutations on integers 11 to nn in lexicographic order, and concatenate them into one big sequence pp. For example, if n=3n = 3, then p=[1,2,3,1,3,2,2,1,3,2,3,1,3,1,2,3,2,1]p = [1, 2, 3, 1, 3, 2, 2, 1, 3, 2, 3, 1, 3, 1, 2, 3, 2, 1]. The length of this sequence will be nn!n \cdot n!.

Let 1ijnn!1 \leq i \leq j \leq n \cdot n! be a pair of indices. We call the sequence (pi,pi+1,,pj1,pj)(p_i, p_{i+1}, \dots, p_{j-1}, p_j) a subarray of pp. Its length is defined as the number of its elements, i.e., ji+1j - i + 1. Its sum is the sum of all its elements, i.e., k=ijpk\sum_{k=i}^j p_k.

You are given nn. Find the number of subarrays of pp of length nn having sum n(n+1)2\frac{n(n+1)}{2}. Since this number may be large, output it modulo 998244353998244353 (a prime number).

Input Format: The only line contains one integer nn (1n1061 \leq n \leq 10^6), as described in the problem statement.

Output Format: Output a single integer — the number of subarrays of length nn having sum n(n+1)2\frac{n(n+1)}{2}, modulo 998244353998244353.

Note: In the first sample, there are 1616 subarrays of length 33. In order of appearance, they are:

[1,2,3][1, 2, 3], [2,3,1][2, 3, 1], [3,1,3][3, 1, 3], [1,3,2][1, 3, 2], [3,2,2][3, 2, 2], [2,2,1][2, 2, 1], [2,1,3][2, 1, 3], [1,3,2][1, 3, 2], [3,2,3][3, 2, 3], [2,3,1][2, 3, 1], [3,1,3][3, 1, 3], [1,3,1][1, 3, 1], [3,1,2][3, 1, 2], [1,2,3][1, 2, 3], [2,3,2][2, 3, 2], [3,2,1][3, 2, 1].

Their sums are 66, 66, 77, 66, 77, 55, 66, 66, 88, 66, 77, 55, 66, 66, 77, 66. As n(n+1)2=6\frac{n(n+1)}{2} = 6, the answer is 99.

Sample Cases

Case 1

Input

3

Output

9

Case 2

Input

4

Output

56

Case 3

Input

10

Output

30052700

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback