#P509. 储物点的距离

储物点的距离

题目描述

一个数轴,每一个储物点会有一些东西,同时它们之间存在距离。 每次给个区间[l,r],查询把这个区间内所有储物点的东西运到另外一个储物点的代价是多少? 比如储物点 iixx 个东西,要运到储物点 jj,代价为 xdistx * dist( ii , jj ) dist就是储物点间的距离。

输入格式

第一行两个数表示n,m

第二行 n1n-1 个数,第 ii 个数表示第 ii 个储物点与第 i+1i+1 个储物点的距离ai

第三行 nn 个数,表示每个储物点的东西个数bi

之后 mm 行每行三个数 xx ll r

表示查询要把区间[l,r]储物点的物品全部运到储物点 xx 的花费 每次查询独立

输出格式

对于每个询问输出一个数表示答案 答案对 10000000071000000007 取模

样例

样例输入 1

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

样例输出 1

125
72
9
0
70