题目描述
佳佳对数学,尤其对数列十分感兴趣。在研究完 Fibonacci 数列后,他创造出许多稀奇古怪的数列。例如用
S(n)
S(n) 表示 Fibonacci 前
n
n 项和
\bmod m
modm 的值,即
S(n)=(F_1+F_2+...+F_n)\bmod m
S(n)=(F1
+F2
+...+Fn
)modm,其中
F_1=F_2=1, F_i=F_{i-1}+F_{i-2}
F1
=F2
=1,Fi
=Fi−1
+Fi−2
。可这对佳佳来说还是小菜一碟。
终于,她找到了一个自己解决不了的问题。用
T(n)=(F_1+2F_2+3F_3+...+nF_n)\bmod m
T(n)=(F1
+2F2
+3F3
+...+nFn
)modm 表示 Fibonacci 数列前
n
n 项变形后的和
\bmod m
modm 的值。
现在佳佳告诉你了一个
n
n 和
m
m,请求出
T(n)
T(n) 的值。
输入
输入数据包括一行,两个用空格隔开的整数
n,m
n,m。
输出
仅一行,
T(n)
T(n) 的值。
样例输入
5 5
样例输出
1
提示
样例解释
T(5)=(1+2\times 1+3\times 2+4\times 3+5\times 5)\bmod 5=1
T(5)=(1+2×1+3×2+4×3+5×5)mod5=1
数据范围与提示
对于
30\%
30% 的数据,
1\le n \le 1000
1≤n≤1000;
对于
60\%
60% 的数据,
1\le m \le 1000
1≤m≤1000;
对于
100\%
100% 的数据,
1\le n,m \le 2^{31}-1
1≤n,m≤231−1。
来源/分类
ybttg 矩阵 数学