#3710. 游玩 (travel)

游玩 (travel)

题目描述

一个景区中有 nn 个景点,编号为 1∼n1\sim n。景点 ii 的美观度为 aia_i。

景区的游览顺序固定:如果当前位于景点 ii,下一个游览的景点必须是 bib_i。一个景点的后继可以是它自己,游览过程中也可以多次经过同一景点。

小 A 将进行 qq 次游玩。每次给出 p,cp,c,表示从景点 pp 开始,连续游览 cc 个景点。起点 pp 是本次游览的第 11 个景点。

如果本次游览的第 jj 个景点是 xx,小 A 获得的快乐度为 (ax+j)2(a_x+j)^2。

对于每次游玩,求快乐度总和对 109+710^9+7 取模后的结果。

输入格式

在文件 travel.in 中读入。

第一行一个整数 nn。

第二行 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n。

第三行 nn 个整数 b1,b2,…,bnb_1,b_2,\ldots,b_n。

第四行一个整数 qq。

接下来 qq 行,每行两个整数 p,cp,c,描述一次游玩。

输出格式

在文件 travel.out 中输出。

输出 qq 行,每行一个整数,表示对应游玩的答案。

样例

样例输入 #1

5
3 2 1 4 5
3 3 1 2 4
2
3 5
1 6

样例输出 #1

130
199

样例 1 解释

第一次游览依次经过景点 3,1,3,1,33,1,3,1,3,快乐度为

(1+1)2+(3+2)2+(1+3)2+(3+4)2+(1+5)2=130.(1+1)^2+(3+2)^2+(1+3)^2+(3+4)^2+(1+5)^2=130.

数据范围

本题共 2020 个测试点,每点 55 分。

测试点编号 额外限制
1∼41\sim4 n,q,c≤3000n,q,c\le3000
5∼85\sim8 所有 ai=1a_i=1
9∼209\sim20 无额外限制

对于所有测试数据:

1≤n,q≤2×105,1\le n,q\le2\times10^5, 1≤ai≤109,1≤bi,p≤n,1\le a_i\le10^9,\qquad 1\le b_i,p\le n, 1≤c≤109.1\le c\le10^9.

其他限制

  • 时间限制:1 s1\text{ s};
  • 空间限制:256 MiB256\text{ MiB}。