题目描述
小 F 刚刚学习了如何递推。
现在她想求如下的递推数列
an=k2an−1+b2k1an−1+b1
的第 n 项的值(模素数意义下),即 anmodp 。
输入格式
第一行一个整数 T 表示数据组数。
接下来的 T 行,每行 7 个整数 a0,k1,b1,k2,b2,n,p (0≤a0<p) ,意义如题目中所示。
输出格式
输出 T 行,每行一个整数表示 anmodp 。
样例
8
58 44 10 41 -44 62 73
40 77 45 62 -77 61 79
24 21 49 18 -21 37 79
51 34 7 10 -34 23 73
32 54 83 8 -54 98 89
30 4 40 52 -4 14 61
49 29 45 75 -29 47 79
8 18 7 23 -18 2 53
58
54
0
17
32
30
30
8
数据范围与约定
对于 10% 的数据, T≤10,n,p≤100 。
对于 40% 的数据, T≤10,n≤1018,p≤1000 。
对于 100% 的数据, T≤10000,n≤1018,p≤109 ,p 是素数, k1,b1,k2,b2∈(−p,p) 且不为 0 ,保证对于所有递推出的 ai ,都有 (k2ai+b2)modp=0 。