#2087. 「2022 远光杯」递推数列的协奏曲

「2022 远光杯」递推数列的协奏曲

题目描述

若若最近学会了常系数齐次线性递推!他非常开心,每天对着各种数列算啊算。

不过这一天,他遇到了两个奇怪的数列:

Ai=(a1)Ai1+aBi1A_i = (a - 1) \cdot A_{i - 1} + a \cdot B_{i - 1}

Bi=bAi1+(b1)Bi1B_i = b \cdot A_{i - 1} + (b - 1) \cdot B_{i - 1}

现在,若若已经知道一个数字 nn,以及常数 aabb,还有数列 AABB 的初值(A0A_0B0B_0),他想请你帮忙算出 AnA_n

输入格式

输入由多组数据构成。

第一行一个正整数 TT (1T1051 \leq T \leq 10^5),表示共有 TT 组数据。

对于每组数据:

第一行三个整数 nn (0n1090 \leq n \leq 10^9),aa (1a1091 \leq a \leq 10^9),bb (1b1091 \leq b \leq 10^9),用一个空格隔开,含义如题目描述所示。

第二行两个正整数 A0A_0 (1A01091 \leq A_0 \leq 10^9) 和 B0B_0 (1B01091 \leq B_0 \leq 10^9),用一个空格隔开,表示数列 AABB 的初值。

输出格式

对于每组数据,输出一行一个非负整数 xx,表示 AnA_n109+710^9 + 7 取模的值。

样例

样例输入

1
1 5 7
2 3

样例输出

23