有n个问题,现在请你给这n个问题分配分值。
n个问题已经按从简单到困难排好序,第i个问题的分值是Ai,n 个问题的分值满足如下关系: 1<=A1<=A2<=……<=An<=n。不同的问题可以具有相同的分值。
主办方希望:解决更多问题的参赛者的排名更高。因此,对于任何解决了k(1<=k<=n-1) 个问题的参赛者, 其分数总和一定要小于解决了任何k+1个问题的参赛者的分数总和。
你有几种分配分值的方法?将答案对素数m取余后输出。
输入:
整数n和m
其中2<=n<=5000,9×10^8<m<10^9,m为素数。
输出:
分值分配的方案数对m 取余后的数字
样例输入1:
2 998244353
样例输出1:
3
样例1说明:
2个题的分值分配有3种方案:(1,1),(1,2),(2,2)。
样例输入2:
3 998244353
样例输出2:
7
样例2说明:
3个题的分值分配有7种方案:(1,1,1),(1,2,2),(1,3,3),(2,2,2),(2,2,3), (2,3,3),(3,3,3)