You are given an array A of size N. You have also defined an array B as the concatenation of array A for infinite number of times.
For example, if A={A1,A2,A3}, then B={A1,A2,A3,A1,A2,A3,.....}.
Now, you are given Q queries. Each query consists of two integers, Li and Ri. Your task is to calculate the sum of the subarray of N from index Li to Ri.
Note: As the value of this output is very large, print the answer as modulus 109+7.
Input format
Output format
For each test case, print Q space-separated integers that denote the answers of the provided Q queries. Print the answer to each test case in a new line.
Constraints
1≤T≤1001≤N≤1041≤Q≤1041≤Ai≤1091≤Li≤Ri≤1018
A={4,1,5}B={4,1,5,4,1,5,4,1,5,4,1,5,...}
Query #1:
L=1, R=4, elements are {4,1,5,4}. Sum=4+1+5+4=14.
Query #2:
L=3, R=7, elements are {5,4,1,5,4}. Sum=5+4+1+5+4=19.
Query #3:
L=9, R=10, elements are {5,4}. Sum=5+4=9.