题目描述
佳佳对数学,尤其对数列十分感兴趣。在研究完Fibonacci数列后,他创造出许多稀奇古怪的数列。例如用S(n)表示Fibonacci前n项和modm的值,即S(n)=(F1+F2+...+Fn)modm,其中F1=F2=1,Fi=Fi−1+Fi−2。可这对佳佳来说还是小菜一碟。
终于,她找到了一个自己解决不了的问题。用T(n)=(F1+2F2+3F3+...+nFn)modm表示Fibonacci数列前n项变形后的和modm的值。
现在佳佳告诉你了一个n和m,请求出T(n)的值。
输入描述
输入数据包括一行,两个用空格隔开的整数n,m。
输出描述
仅一行,T(n)的值。
示例1
输入
5 5
输出
1
说明
$T(5)=(1+2 \times1+3 \times2+4 \times3+5 \times5) \bmod5=1$
备注
对于30%的数据,1≤n≤1000;
对于60%的数据,1≤m≤1000;
对于100%的数据,1≤n,m≤231−1。