5029 - 斐波那契

 斐波那契数列大家都非常熟悉。它的定义是:

  f(x) = 1 .... (x=1,2)
  f(x) = f(x-1) + f(x-2) .... (x>2)

  对于给定的整数 n 和 m,我们希望求出:
  f(1) + f(2) + ... + f(n) 的值。但这个值可能非常大,所以我们把它对 f(m) 取模。
  公式如下
 

15659633849541.png



  但这个数字依然很大,所以需要再对 p 求模。

输入

输入为一行用空格分开的整数 n m p (0 < n, m, p < 10^18)

 

输出

输出为1个整数,表示答案

样例

输入

2 3 5

输出

0

输入

15 11 29

输出

25

来源

蓝桥杯

时间限制 1 秒
内存限制 256 MB
讨论 统计
上一题 下一题