Watson gives to Sherlock an array of N integers denoted by A1, A2 ... AN.
Now he gives him Q queries of form Li, Ri. For each such query Sherlock has to report the number of inversions in subarray denoted by [Li, Ri].
Inversions in a subarray denoted by [a, b] are number of pairs (i, j) such that a ≤ i < j ≤ b and Ai > Aj.
Input
First line contains N and Q. Next line contains N space separated integers denoting array A.
Each of the next Q lines contain two space separated integers denoting Li, Ri.
Output
For each query, print the required answer in one line.
Constraints
20% files: 1 ≤ N, Q ≤ 103
20% files: 1 ≤ N ≤ 103 and 1 ≤ Q ≤ 105
60% files: 1 ≤ N, Q ≤ 105
1 ≤ Ai ≤ 109
1 ≤ Li ≤ Ri ≤ N
query1: Number of inversions in B = [1, 4] is 0.
query2: Number of inversions in B = [2, 3, 1] are 2 since B[0]>B[2] and B[1]>B[2].
query3: Number of inversions in original array are 5.
Please login to use the editor
You need to be logged in to access the code editor
Loading...
Please wait while we load the editor
Login to unlock the editorial
Please login to use the editor
You need to be logged in to access the code editor
Loading...
Please wait while we load the editor