2941: 「一本通 6.6 练习 10」有趣的数列

Memory Limit:512 MB Time Limit:1 S
Judge Style:Text Compare Creator:
Submit:7 Solved:4

Description

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

  1. 它是从 1112n2n2n2n2n2n 个整数的一个排列 {ai}{a_i}{ai}
  2. 所有的奇数项满足 a1<a3<⋯<a2n−1a_1lt a_3lt cdots lt a_{2n-1}a1<a3<<a2n1,所有的偶数项满足 a2<a4<⋯<a2na_2lt a_4lt cdots lt a_{2n}a2<a4<<a2n
  3. 任意相邻的两项 a2i−1a_{2i-1}a2i1a2i(1≤i≤n)a_{2i}(1le ile n)a2i(1in) 满足奇数项小于偶数项,即:a2i−1<a2ia_{2i-1}lt a_{2i}a2i1<a2i

任务是:对于给定的 nnn,请求出有多少个不同的长度为 2n2n2n 的有趣的数列。因为最后的答案可能很大,所以只要求输出答案 modP 的值。

Input

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

Output

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

HINT

样例输入

3 10

样例输出

5

样例说明

对应的 555 个有趣的数列分别为 {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,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,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}

对于 50%50\%50% 的数据,n≤1000,P≤106nle 1000,Ple 10^6n1000,P106
对于全部数据,1≤n≤106,2≤P≤1091le nle 10^6,2le Ple 10^91n106,2P109

加入题单

算法标签: