佳佳对数学,尤其对数列十分感兴趣。在研究完 Fibonacci 数列后,他创造出许多稀奇古怪的数列。例如用 S(n) 表示 Fibonacci 前 n 项和 mod m 的值,
即 S(n)=(F1+ F2+ .... +Fn ) mod m,其中 F1=F2=1, Fi=Fi-1 + Fi-2 。可这对佳佳来说还是小菜一碟。
终于,她找到了一个自己解决不了的问题。用 T(n)=(F1+ 2F2 +3F3+...+ nFn ) mod m表示 Fibonacci 数列前 n 项变形后的和 mod m 的值。
现在佳佳告诉你了一个 n 和 m,请求出 T(n) 的值。
5 5
1
对于 30% 的数据,1 ≤ n ≤ 1000;
对于 60% 的数据,1 ≤ m ≤ 1000;
对于 100% 的数据,1 ≤ n ,m≤ 2^31-1。