「ALFR Round 1」D 小山的元力
题目描述
小山有 $n$ 个相同的元素,他想将这 $n$ 个元素分为 $m$ 堆,显然有很多种分法。对于每种分法,定义 $a_i$ 为第 $i$ 堆的元素数量,$b_i=i!\times a_i$(其中 $i!$ 表示 $i$ 的阶乘),以及 $c=\sum\limits_{i=1}^mb_i$。而小山的元力为所有分法的 $c$ 值之和。小山想知道他的元力是多少,由于答案可能很大,所以最终答案应对 $p$ 取模(保证 $p$ 为质数)。
输入输出格式
输入格式
一行三个整数 $n,m,p$,含义见**题目描述**。
输出格式
一个数表示小山的元力。
输入输出样例
输入样例 #1
3 2 37
输出样例 #1
18
说明
### 样例解释
将 $3$ 个元素分为 $2$ 堆的方案为:
1. `0 3`
2. `1 2`
3. `2 1`
4. `3 0`
小山的元力为:$(1!\times0+2!\times3)+(1!\times1+2!\times2)+(1!\times2+2!\times1)+(1!\times3+2!\times0)=18$。
### 数据范围
| 子任务 | 分值 | 限制 |
| :----------: | :----------: | :----------: |
| $0$ | $20$ | $n,m\le5$ |
| $1$ | $80$ | - |
对于 $100\%$ 的数据,$1\le n,m\le10^6$,$1\le p\le10^7$。