#P5175. 数列

数列

数列

  • 时间限制:1.5 秒
  • 内存限制:64 MiB

题目描述

给定数列 {an}\{a_n\} 的前两项 a1,a2a_1,a_2。对于 n3n\ge 3,数列满足

an=xan1+yan2.a_n=x a_{n-1}+y a_{n-2}.

i=1nai2\sum_{i=1}^{n}a_i^2

109+710^9+7 取模后的值。

输入格式

第一行一个整数 TT,表示数据组数。

接下来 TT 行,每行五个整数 n,a1,a2,x,yn,a_1,a_2,x,y,表示一组询问。

输出格式

输出 TT 行,每行一个整数,表示对应询问的答案。

样例输入

3
5 1 1 1 1
4 3 4 3 2
461564597527246 987489553 321654648 164165256 315648984

样例输出

40
4193
480929868

样例说明

第一组数列的前五项为 1,1,2,3,51,1,2,3,5,平方和为 4040

第二组数列的前四项为 3,4,18,623,4,18,62,平方和为 41934193

数据范围

对于所有数据,1T300001\le T\le 300001n10181\le n\le 10^{18}1a1,a2,x,y1091\le a_1,a_2,x,y\le 10^9

一份输入中各组询问的 nn 之和记为 n\sum n

子任务编号 分值 特殊限制
1 20 n106\sum n\le 10^6
2 40 对所有询问均有 x=y=1x=y=1
3 无特殊限制

本题采用独立测试点计分。