← Home
write a go solution for Description:
Given a positive integer k, two arrays are called k-similar if:

- they are strictly increasing;
- they have the same length;
- all their elements are positive integers between 1 and k (inclusive);
- they differ in exactly one position.

You are given an integer k, a strictly increasing array a and q queries. For each query, you are given two integers l_i<=r_i. Your task is to find how many arrays b exist, such that b is k-similar to array [a_l_i,a_l_i+1ldots,a_r_i].

Input Format:
The first line contains three integers n, q and k (1<=n,q<=10^5, n<=k<=10^9) — the length of array a, the number of queries and number k.

The second line contains n integers a_1,a_2,ldots,a_n (1<=a_i<=k). This array is strictly increasing  — a_1<a_2<ldots<a_n.

Each of the following q lines contains two integers l_i, r_i (1<=l_i<=r_i<=n).

Output Format:
Print q lines. The i-th of them should contain the answer to the i-th query.

Note:
In the first example:

In the first query there are 4 arrays that are 5-similar to [2,4]: [1,4],[3,4],[2,3],[2,5].

In the second query there are 3 arrays that are 5-similar to [4,5]: [1,5],[2,5],[3,5].. Output only the code with no comments, explanation, or additional text.