#P6189. [NOI Online #1 入门组] 跑步

[NOI Online #1 入门组] 跑步

题目描述

小 H 是一个热爱运动的孩子,某天他想给自己制定一个跑步计划。小 H 计划跑 nn 米,其中第 i(i1)i(i \geq 1) 分钟要跑 xix_i 米(xix_i 是正整数),但没有确定好总时长。

由于随着跑步时间增加,小 H 会越来越累,所以小 H 的计划必须满足对于任意 i(i>1)i(i >1) 都满足 xixi1x_i \leq x_{i-1}

现在小 H 想知道一共有多少个不同的满足条件的计划,请你帮助他。两个计划不同当且仅当跑步的总时长不同,或者存在一个 ii,使得两个计划中 xix_i 不相同。

由于最后的答案可能很大,你只需要求出答案对 pp 取模的结果。

输入格式

输入只有一行两个整数,代表总米数 nn 和模数 pp

输出格式

输出一行一个整数,代表答案对 pp 取模的结果。

4 44
5
66 666666
323522
66666 66666666
45183149

提示

样例输入输出 1 解释

五个不同的计划分别是:{1,1,1,1}\{1,1,1,1\}{2,1,1}\{2,1,1\}{3,1}\{3,1\}{2,2}\{2,2\}{4}\{4\}


数据规模与约定

本题共 1010 个测试点,各测试点信息如下表。

测试点编号 nn \leq 测试点编号 nn \leq
11 55 66 2×1032\times 10^3
22 1010 77 5×1035\times 10^3
33 5050 88 2×1042\times 10^4
44 100100 99 5×1045\times 10^4
55 500500 1010 10510^5

对于全部的测试点,保证 1n1051 \leq n \leq 10^51p<2301 \leq p < 2^{30}