题目描述
若若最近学会了常系数齐次线性递推!他非常开心,每天对着各种数列算啊算。
不过这一天,他遇到了两个奇怪的数列:
Ai=(a−1)⋅Ai−1+a⋅Bi−1
Bi=b⋅Ai−1+(b−1)⋅Bi−1
现在,若若已经知道一个数字 n,以及常数 a 和 b,还有数列 A 和 B 的初值(A0,B0),他想请你帮忙算出 An。
输入格式
输入由多组数据构成。
第一行一个正整数 T (1≤T≤105),表示共有 T 组数据。
对于每组数据:
第一行三个整数 n (0≤n≤109),a (1≤a≤109),b (1≤b≤109),用一个空格隔开,含义如题目描述所示。
第二行两个正整数 A0 (1≤A0≤109) 和 B0 (1≤B0≤109),用一个空格隔开,表示数列 A 和 B 的初值。
输出格式
对于每组数据,输出一行一个非负整数 x,表示 An 对 109+7 取模的值。
样例
样例输入
1
1 5 7
2 3
样例输出
23