导弹拦截

题目背景

某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。

输入导弹依次飞来的高度,计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。

以上是经典问题 NOIP1999 导弹拦截,与本题无关。

题面描述

战争爆发,敌国发射了一发重量为 nn 的导弹。为了应对这发导弹,某国只能拿出远古的导弹拦截系统。

经过 2626 年的韬光养晦,某国的导弹拦截系统正逐渐变差。此时,一发炮弹可能无法击毁一个导弹了。

这个系统的每一发炮弹都有一个重量 xx,并且这个重量不会大过当前导弹的重量,并且以后的每一发的重量都不会大过上一发的重量。一发炮弹打中导弹后,导弹的重量就会减去 xx

当然,这个炮弹的重量至少为 11

为了应对所有可能发生的情况,导弹拦截系统的操作员需要先计算出有多少种可能的拦截方案。由于太大,他只需要计算方案数 mod \bmod \ \bigstar

输入格式

一行两个整数 n,n, \bigstar,表示导弹的重量和模数。

输出格式

一行一个整数,表示拦截方案 mod \bmod \ \bigstar

样例

4 4
1

样例解释

如果第一发打了重量为 44 的炮弹,导弹就成功拦截了。

如果第一发打了重量为 33 的炮弹,那还需要再打一发重量为 11 的炮弹。

如果第一发打了重量为 22 的炮弹,则有两种情况。一种是打出了一发重量为 22 的炮弹,一种是打出两发重量为 11 的炮弹。

如果第一发打了重量为 11 的炮弹,则还需要打出 33 发重量为 11 的炮弹。

因此一共有 55 种拦截导弹的方式。输出 5mod4=15 \bmod 4 = 1


对于 100%100\% 的数据,1n1051 \le n \le 10^51<2301 \le \bigstar \lt 2^{30}

数据有梯度。

国庆提高/省选组比赛

Attended
Status
Live... (Attended)
Rule
IOI
Problem
40
Start at
2025-10-15 19:32
End at
2025-11-16 0:00
Duration
1104 hour(s)
Host
Partic.
85