#2149. 【例 4】佳佳的 Fibonacci

【例 4】佳佳的 Fibonacci

当前没有测试数据。

Background

Special for beginners, ^_^

Description

佳佳对数学,尤其对数列十分感兴趣。在研究完 Fibonacci 数列后,他创造出许多稀奇古怪的数列。例如用 S(n)S(n) 表示 Fibonacci 前 nnmodm\mod m 的值,即 S(n)=(F1+F2+...+Fn)modmS(n)=(F_1+F_2+...+F_n)\bmod m ,其中 F1=F2=1,Fi=Fi1+Fi2F_1=F_2=1,F_i=F_{i-1}+F_{i-2}。可这对佳佳来说还是小菜一碟。

终于,她找到了一个自己解决不了的问题。用 T(n)=(F1+2F2+3F3+...+nFn)modmT(n)=(F_1+2F_2+3F_3+...+nF_n)\bmod m 表示 Fibonacci 数列前 nn 项变形后的和 modm\mod m 的值。

现在佳佳告诉你了一个 nnmm ,请求出 T(n)T(n) 的值。

Format

Input

输入数据包括一行,两个用空格隔开的整数 n,mn,m

Output

仅一行, T(n)T(n) 的值。

Samples

input

5 5

output

1

Tips

样例解释

T(5)=(1+2×1+3×2+4×3+5×5)mod5=1T(5)=(1+2 × 1+3× 2+4× 3+5× 5)\bmod 5=1

数据范围与提示:

对于 30%30\% 的数据,1n10001\le n\le 1000

对于 60%60\% 的数据,1m10001\le m\le 1000

对于 100%100\% 的数据,1n,m23111\le n,m\le 2^{31}-1