Ocean用巧妙的方法得到了一个序列,该序列有N个元素,我们用数组a来记录(下标从0到N?1)。
Ocean定义f[i]=(((i%a[0])%a[1])%…)%a[N?1]。
现在Ocean会给出QQ次查询,每次给定一个区间[L,R],[L,R],他想快速知道∑Ri=Lf[i]∑i=LRf[i] (即f[L]+…+f[R]f[L]+…+f[R])的值。
输入
第一行输入一个整数T,代表有T组测试数据。
每组数据占多行,第一行输入一个整数N,代表元素个数。
下面一行输入N个整数ai。
下面一行输入一个整数Q,代表Q次查询。
接下来Q行,每行输入两个整数L,R,代表查询的区间。
注:1<=T<=20,1<=N,Q<=1000,1<=ai<=100000,1<=L<=R<=100000。
输出
对每组测试数据,依次输出QQ行,每行输出对应的查询结果。
样例输入
2
5
5 4 3 2 1
4
1 100000
2 100000
3 100000
4 100000
5
5 5 5 5 5
4
1 100000
2 100000
3 100000
4 100000
样例输出
0
0
0
0
200000
199999
199997
199994
思路:
用数组记录有序序列。
如果a<=b,则(t%a)%b =t%a;
如果a>t,则t%a = t;