4632 - 蓝桥杯:真题 斐波那契

通过次数

1

提交次数

3

Time Limit : 1 秒
Memory Limit : 256 MB

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

  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) 取模。   公式如下 但这个数字依然很大,所以需要再对 p 求模。

Input

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

Output

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

Examples

Input

2 3 5

Output

0

Input

15 11 29

Output

25