#S3B. 「FeOI Round 1」Journey

「FeOI Round 1」Journey

题目背景

Journey - Kirara Magic / ugumugu

题目描述

小 W 最近正在学习某编程语言。

这个编程语言有个语句如下:

range(a,b,c)

这个语句表示一个序列,这个序列是这样的:

[a,a+c,a+2c,,a+kc][a,a+c,a+2c,\cdots,a+kc]

其中,kk 是最大的满足 a+kc<ba+kc<b 的非负整数 kk。例如 range(1,7,2) 表示的序列为 [1,3,5][1,3,5]

小 W 想问你一个问题:给你一个长为 nn 的序列 gg(下标从 11 开始),求出下列式子的值,答案模 109+710^9 +7

$$\sum_{a=1}^{n}\sum_{b=a+1}^{n+1}\sum_{c=1}^{n}\sum\limits_{i\in \mathrm{range}(a,b,c)} g_i $$

输入格式

为了加快读入速度,我们采用以下读入方法。

读入共一行五个非负整数 n,A,B,C,gnn,A,B,C,g_n

其中 nn 为序列 gg 的长度,A,B,CA,B,C 为生成数据的参数,gng_n 为序列 gg 的第 nn 项。

对于序列 gg 的第 ii1i<n1\leq i < n)项,满足 giAgi+12+Bgi+1+C(mod109+7)g_i \equiv Ag_{i+1}^2+Bg_{i+1}+C \pmod {10^9 + 7}

输出格式

共一行一个非负整数,为题目中所求的答案。

样例

2 0 1 1 1
11

样例 1 解释

g=[2,1]g=[2,1](下标从 11 开始)

ans=irange(a,b,c)gians=\sum\limits_{i\in \mathrm{range}(a,b,c)} g_i

a=1,b=2,c=1a=1,b=2,c=1 时,ans=2ans=2

a=1,b=2,c=2a=1,b=2,c=2 时,ans=2ans=2

a=1,b=3,c=1a=1,b=3,c=1 时,ans=2+1=3ans=2+1=3

a=1,b=3,c=2a=1,b=3,c=2 时,ans=2ans=2

a=2,b=3,c=1a=2,b=3,c=1 时,ans=1ans=1

a=2,b=3,c=2a=2,b=3,c=2 时,ans=1ans=1

答案为 ans=2+2+3+2+1+1=11\sum ans=2+2+3+2+1+1=11

9 0 1 0 663
422994

样例 2 解释

该样例满足特殊性质 A。

20 1 0 0 998244353
560706529
114514 17723 134 1045 233337
442762986

数据范围

对于 100%100\% 的数据:1n2×1071\leq n\leq 2\times 10^70A,B,C,gn<109+70\leq A,B,C,g_n<10^9 +7

测试点编号 n=n= 特殊性质
11 AB
22 10001000
33
44 50005000
55
66 10410^4 A
77 10510^5
88 B
99
1010 2×1052\times 10^5 A
1111 B
1212 5×1055\times 10^5
1313 10610^6 A
1414 B
1515 2×1062\times 10^6
1616 3×1063\times 10^6
1717 5×1065\times 10^6 A
1818 10710^7
1919 B
2020 1.3×1071.3\times 10^7
2121 1.6×1071.6\times 10^7
2222 2×1072\times 10^7 A
2323 B
2424
2525

特殊性质 A:保证所有 gig_i 相等。

特殊性质 B:保证只有 gn0g_n\neq 0