3602 - 有趣的数列 [HNOI2009]

题目描述

我们称一个长度为 2n 的数列是有趣的,当且仅当该数列满足以下三个条件:

  • 它是从 1 \sim 2n2n 个整数的一个排列 {a_i}

  • 所有的奇数项满足 a_1 < a_3 < \dots < a_{2n-1},所有的偶数项满足 a_2 < a_4 < \dots < a_{2n}

  • 任意相邻的两项 a_{2i-1}a_{2i} 满足:a_{2i-1} < a_{2i}

对于给定的 n,请求出有多少个不同的长度为 2n 的有趣的数列。

因为最后的答案可能很大,所以只要求输出答案对 p 取模。

输入

一行两个正整数 n,p

输出

输出一行一个整数表示答案。

样例

输入

3 10

输出

5

输入

100 1000000000

输出

745909320
说明

【数据范围】

对于 50\% 的数据,1\le n \le 1000

对于 100\% 的数据,1\le n \le 10^61\le p \le 10^9

【样例解释】

对应的5个有趣的数列分别为(1,2,3,4,5,6),(1,2,3,5,4,6),(1,3,2,4,5,6),(1,3,2,5,4,6),(1,4,2,5,3,6)。

标签
题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 19
通过人数 18
金币数量 3 枚
难度 提高


上一题 下一题