给出一个整数数组

,然后每次会给一对整数l,r
)
,你需要算出

的值。
为了不输出过大的答案,假设答案为ans,请输出ans % 1,000,000,007。
提示:
在%1,000,000,007的意义下/2相当于*500,000,004
示例1
输入
复制
[1,2,5,3,4],[1,4,2,5,2,2]
说明
第一个询问,l=1,r=4,ans=1*2+1*5+1*3+2*5+2*3+5*3=41;
第二个询问,l=2,r=5,ans=2*5+2*3+2*4+5*3+5*4+3*4=71;
第三个询问,l=2,r=2,ans=0。
备注:
参数a为vector<int>,依次为a1,a2,...,an;
参数query为vector<int>,依次为l1,r1,l2,r2,...,lq,rq;
n为数组a长度,q为询问次数。
30% 数据满足 1<=n,q<=1000
100% 数据满足 1<=n,q<=100000,1<=ai<=100000,1<=li<=ri<=n