#acl1d. [acl1_d]Keep Distances

[acl1_d]Keep Distances

Problem Statement

There are NN points on a number line, ii-th of which is placed on coordinate XiX_i. These points are numbered in the increasing order of coordinates. In other words, for all ii (1leqileqN11 \\leq i \\leq N-1), Xi<Xi+1X_i < X_{i+1} holds. In addition to that, an integer KK is given.

Process QQ queries.

In the ii-th query, two integers LiL_i and RiR_i are given. Here, a set ss of points is said to be a good set if it satisfies all of the following conditions. Note that the definition of good sets varies over queries.

  • Each point in ss is one of XLi,XLi+1,ldots,XRiX_{L_i},X_{L_i+1},\\ldots,X_{R_i}.
  • For any two distinct points in ss, the distance between them is greater than or equal to KK.
  • The size of ss is maximum among all sets that satisfy the aforementioned conditions.

For each query, find the size of the union of all good sets.

Constraints

  • 1leqNleq2times1051 \\leq N \\leq 2 \\times 10^5
  • 1leqKleq1091 \\leq K \\leq 10^9
  • 0leqX1<X2<cdots<XNleq1090 \\leq X_1 < X_2 < \\cdots < X_N \\leq 10^9
  • 1leqQleq2times1051 \\leq Q \\leq 2 \\times 10^5
  • 1leqLileqRileqN1 \\leq L_i \\leq R_i \\leq N
  • All values in input are integers.

Input

Input is given from Standard Input in the following format:

NN KK X1X_1 X2X_2 cdots\\cdots XNX_N QQ L1L_1 R1R_1 L2L_2 R2R_2 vdots\\vdots LQL_Q RQR_Q

Output

For each query, print the size of the union of all good sets in a line.


Sample Input 1

5 3
1 2 4 7 8
2
1 5
1 2

Sample Output 1

4
2

In the first query, you can have at most 33 points in a good set. There exist two good sets: 1,4,7\\{1,4,7\\} and 1,4,8\\{1,4,8\\}. Therefore, the size of the union of all good sets is 1,4,7,8=4|\\{1,4,7,8\\}|=4.

In the second query, you can have at most 11 point in a good set. There exist two good sets: 1\\{1\\} and 2\\{2\\}. Therefore, the size of the union of all good sets is 1,2=2|\\{1,2\\}|=2.


Sample Input 2

15 220492538
4452279 12864090 23146757 31318558 133073771 141315707 263239555 350278176 401243954 418305779 450172439 560311491 625900495 626194585 891960194
5
6 14
1 8
1 13
7 12
4 12

Sample Output 2

4
6
11
2
3