Problem of the day
The value of the sum can be very large, return the answer as modulus 10^9+7.
The first line of input contains a single integer T, representing the number of test cases or queries to be run.
Then the T test cases follow.
The first line of each test case contains a single integer N, denoting the size of the array βAβ.
The second line of each test case contains N single space-separated integers, elements of the array βAβ.
The third line of each test case contains a single integer Q, denoting the number of queries.
Then each of the Q lines of each test case contains two single space-separated integers L, and R denoting the left and the right index of the infinite array βBβ whose sum is to be returned.
For each test case, print Q space-separated integers that denote the answers of the given Q queries.
Print the answer to each test case in a separate line.
You do not need to print anything, it has already been taken care of. Just implement the given function.
1 <= T <= 100
1 <= N <= 10^4
1 <= A[i] <= 10^9
1 <= Q <= 10^4
1 <= L <= R <= 10^18
Time Limit: 1sec
1
3
1 2 3
2
1 3
1 5
6 9
For the first test case, the given array A is [1,2,3] therefore the infinite array βBβ will be [1,2,3,1,2,3,1,2,3,.......]. So the answer for the given first query is 6 because the sum of the subarray from index 1 to 3 of infinite array βBβ i.e. (B[1]+B[2]+B[3]) is 6.
For the given second query is 9 because the sum of the subarray from index 1 to 5 of array βBβ .ie (B[1]+B[2]+B[3]+B[4]+B[5]) is 9.
1
4
5 2 6 9
3
1 5
10 13
7 11
27 22 28