#P9419. [POI 2021/2022 R1] Układanie kart

[POI 2021/2022 R1] Układanie kart

题目背景

译自 XXIX Olimpiada Informatyczna – I etap Układanie kart

题目描述

我们用以下方法将一个排列递增排序:

一次操作:记第一个数字为 kk,在排列中找到 k1k-1k=1k=1 则取 nn),把 k1k-1 拉到排列的第一个位置,中间的数字依次后移。

一次操作的价值:k1k-1(或 nn)在原排列的位置(这个从 00 开始标号)。

一个排列的价值:进行若干次操作直到排列有序,价值为每次操作的价值之和。

给你 n,mn,m,求所有 n!n! 个排列的价值之和,对 mm 取模。

输入格式

一行两个正整数,n,mn,m

输出格式

一行一个整数,答案对 mm 取模的结果。

2 100

1

3 100

15

10 1000

100

500 100000

60000

100000 1000

0

提示

对于所有数据,2n10000002\leq n\leq 10000002m1092\leq m\leq 10^9

子任务编号 附加限制 分数
1 n10n\leq 10 10
2 n2000n\leq 2000 60
3 30