#P5059. 中国象棋

中国象棋

题目背景

gjm gjm 非常喜欢研究棋类问题,最近,他在钻研中国象棋 QwQQwQ

题目描述

现在,gjm gjm 脑海里有一个 N N × N N 的棋盘,其上共有 N N × N N 个格子,gjm gjm 开始在棋盘上的格点上摆放卒,已知卒仅会攻击往左边一个格点和往右边一个格点上的棋子,现在 gjm gjm 开始在棋盘上摆放任意多个卒,满足:

(1)(1) 每一行都至少摆放有两个卒

(2)(2) 任意两个卒都不会互相攻击

gjm gjm 现在想知道,满足上述条件,有多少种摆放卒的方案?由于答案可能很大,你只需输出方案数对 P P 取模的结果即可。

两种方案被认为不同当且仅当存在同一格点的摆放情况不同。

输入格式

一行两个正整数,分别为N N P P

输出格式

一行一个整数,即在N N × N N 棋盘中摆放卒的方案数对 P P 取模的结果 。

1 10007
0
2 1000000000
1
7 1000000000
612231936

提示

样例1解释 很明显没有方案

样例2解释 (00 表示格点上无卒,11 表示格点上有卒)

仅有一种方案

11 00 11

11 00 11

11 00 11

该样例以及解释无误

样例3解释 太大了无法列出所有方案,故不予解释

对于 20 20 % 的数据, N100 N≤100P109P≤10^{9}

对于 50 50 % 的数据, N105 N≤10^5P109P≤10^{9}

对于 100 100 %的数据 , N1018 N≤10^{18}P1018P≤10^{18}

By:By : 学无止境