P0953

小强的积木

小强的积木

定义整数序列 ff 如下:

  • f(1)=1f(1)=1,f(2)=3f(2)=3,f(3)=12f(3)=12,f(4)=51f(4)=51;
  • 对任意 n≥5n\ge 5,有 f(n)=7f(n−1)−14f(n−2)+11f(n−3)−2f(n−4)。f(n)=7f(n-1)-14f(n-2)+11f(n-3)-2f(n-4)。

给定正整数 NN 和质数 PP,求 f(N)f(N) 对 PP 取模后的非负余数。

输入格式

输入两个正整数 NN 和 PP,其中 PP 保证为质数。

输出格式

输出一个整数,表示 f(N) mod Pf(N)\bmod P 的非负余数。

样例输入

3 997

样例输出

12

样例解释

根据定义,f(3)=12f(3)=12,因此输出 1212。

数据范围

  • N≤109N\le 10^9;
  • P≤108P\le 10^8;
  • NN 和 PP 均为正整数,且 PP 为质数。

来源与许可

本题题面与测试数据整理自 BZOJ。

样例 1

输入

3 997

输出

12