7095 - PE - Ultimate Big Mod   

Description

在PB 上,我們學會了將費式數列轉化成矩陣相乘的形式。其實,我們可以將此
技巧轉成更general 的形式。
Fn = c1*
Fn−1+c2 Fn−2+ ⋯ +ck Fn−k+ck+1 , for n ≥ k
其中已知的項是:
F0 F1 F2 , … ,  Fk−1 , c1 ,c2 , … , ck+1
矩陣相乘的形式會表示成:
[
Fn; Fn−1;.... Fn−k;ck+1] = [B]*[ Fn-1; Fn−2;.... Fn−k-1;ck+1]
請試著推導出B 矩陣,使得你可以用Big Mod 的方式求
Fn %M

Input

輸入第一行表示有幾組測試資料,最多20 組。
每組測資:
第一行有3 個數字:k(0 ≤ k ≤ 25), m(1 ≤ m < 231), n(0 ≤ n < 231)
第二行有c1 , c2 , … , ck+1(−231≤ ci < 231)
第三行有
F0 , F1 , … , Fk−1(−231≤  Fi < 231)

Output

每行有一個數字,代表 Fn %M

Sample Input  Download

Sample Output  Download

Tags




Discuss