#4521. 「一本通 6.5 例 4」佳佳的 Fibonacci

「一本通 6.5 例 4」佳佳的 Fibonacci

[{"sectionTitle":"题目描述","type":"Text","text":"佳佳对数学,尤其对数列十分感兴趣。在研究完 Fibonacci 数列后,他创造出许多稀奇古怪的数列。例如用 S(n)S(n) 表示 Fibonacci 前 nn 项和 bmodm\\bmod m 的值,即 S(n)=(F1+F2+...+Fn)bmodmS(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}。可这对佳佳来说还是小菜一碟。\r\n\r\n终于,她找到了一个自己解决不了的问题。用 T(n)=(F1+2F2+3F3+...+nFn)bmodmT(n)=(F_1+2F_2+3F_3+...+nF_n)\\bmod m 表示 Fibonacci 数列前 nn 项变形后的和 bmodm\\bmod m 的值。\r\n\r\n现在佳佳告诉你了一个 nnmm,请求出 T(n)T(n) 的值。","subType":"markdown"},{"sectionTitle":"输入格式","type":"Text","text":"输入数据包括一行,两个用空格隔开的整数 n,mn,m。","subType":"markdown"},{"sectionTitle":"输出格式","type":"Text","text":"仅一行,T(n)T(n) 的值。","subType":"markdown"},{"sectionTitle":"样例","type":"Sample","text":"$T(5)=(1+2\\times 1+3\\times 2+4\\times 3+5\\times 5)\\bmod 5=1$","subType":"markdown","payload":["5 5","1"]},{"sectionTitle":"数据范围与提示","type":"Text","text":"对于 3030\\% 的数据,1lenle10001\\le n \\le 1000;\r\n\r\n对于 6060\\% 的数据,1lemle10001\\le m \\le 1000;\r\n\r\n对于 100100\\% 的数据,1len,mle23111\\le n,m \\le 2^{31}-1。","subType":"markdown"}]