T570749 编号(piggy)
题目描述
小 Y 和小 X 在不同的城市。这一天小 Y 打算乘飞机去找小 X,她已经到达了安检口。百无聊赖的她开始观察其了面前不停走动的队伍。
小 Y 给排在她前面的 $n$ 个人都分配了编号,使得它们构成一个 $1\sim n$ 的排列。
小 Y 喜欢连续的数字。她把一个排列分成几个子串,每一段都是上升的连续正整数,且子串是**极大**的。而这个排列的美丽值就是这几个子串长度的最大值。例如,排列 $756891234$ 的分割为 $1234$,$56$,$7$,$89$,长度最大为 $4$,因此该子串的美丽值为 $4$。
小 Y 想知道所有排列的美丽值之和。
因为答案可能很大,所以请将答案对 $mod$ 取模,模数在输入中给出。
输入格式
第一行两个整数 $n,\operatorname{mod}$,代表排队的总人数和模数。
输出格式
输出一个整数,代表所有排列的美丽值之和对 $\operatorname{mod}$ 取模的结果。
说明/提示
### 样例1解释:
无论如何只有一个排列 $1$,因此答案是 $1$。
### 样例2解释:
以下每个排列后边的括号代表其美丽值。
$1 2(2)$,$2 1(1)$,答案为 $3$。
### 样例3解释:
$1 2 3(3)$,$1 3 2(1)$,$2 1 3(1)$,$2 3 1(2)$,$3 1 2(2)$,$3 2 1(1)$,答案为 $10$。
| 部分分 | $n$ | 分值 |
| :-----: | :--------: | :--: |
| 0 | $\le 8$ | 10 |
| 1 | $\le 18$ | 10 |
| 2 | $\le 51$ | 20 |
| 3 | $\le 3000$ | 60 |
对于所有数据,保证 $10^8\le mod \le 10^9$ 且 $mod$ 为质数。
提示:本题时限为 std 九倍以上,但选手们还需程序的常数因子对运行时间所带来的影响。