#LQ1082. [高级组]题目的分数值

[高级组]题目的分数值

题目描述

蓝桥杯 CC++青少组的比赛有 nn 个问题,现在请你给这 nn 个问题分配分值。 nn 个问题已经按从简单到困难排好序,第 ii 个问题的分值是 AiA_inn 个问题的分值满足 如下关系: 1A1A2Ann1 \le A_1 \le A_2 \le \cdots \le A_n \le n。不同的问题可以具有相同的分值。 主办方希望:解决更多问题的参赛者的排名更高。因此,对于任何解决了 kk1kn11\le k \le n-1) 个问题的参赛者,其分数总和一定要小于解决了任何 k+1k + 1 个问题的参赛者的分数总和。你有几种分配分值的方法? 将答案对素数 mm 取余后输出。

输入格式

共一行,两个整数分别表示问题数量nn以及素数mm

输出格式

分值分配的方案数对 mm 取余后的取值。

2 998244353
3

样例1说明

22 个题的分值分配有 33 种方案: (11,11), (11,22), (22,22)。

3 998244353
7

样例2说明

33 个题的分值分配有 77 种方案:(11,11,11), (11,22,22), (11,33,33), (22,22,22), (22,22,33), (22,33,33), (33,33,33)。

数据规模与约定

对于 100%100\% 的数据,2n50002\le n \le 50009×108<m<1099 \times 10^8 \lt m \lt 10^9