#A3553. 有趣的数列

有趣的数列

题目描述

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

  1. 它是从 112n2n2n2n 个整数的一个排列ai{a_i};

  2. 所有的奇数项满足 a1<a3...<a2n1a_1<a_3...<a_{2n-1},所有的偶数项满足 a2<a4...a2na_2<a_4...a_{2n};

3.任意相邻的两项 a2i1a_{2i-1}a2i(1in)a_{2i}(1 \leq i\leq n)满足奇数项小于偶数项,即:a2i1<a2ia_{2i-1} < a_{2i}

任务是:对于给定的 nn,请求出有多少个不同的长度为2n2n 的有趣的数列。

因为最后的答案可能很大,所以只要求输出答案 modPmod P的值。

输入

只包含用空格隔开的两个整数 nnPP

输出

仅含一个整数,表示不同的长度为 2n2n的有趣的数列个数 modPmodP 的值。

3 10
5

样例解释

对应的 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} 。

提示

1n106 1 \leq n \leq 10^6

2P1092 \leq P \leq 10^9