#LQ0503. 斐波那契

斐波那契

题目描述

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

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) 取模。

公式如下:

(sumi=1nf(i)modf(m)sum_{i=1}^{n}f(i) mod f(m))

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

输入描述

输入描述

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

输出描述

输出为 1 个整数。

输入输出样例

示例

输入

2 3 5

输出

0