input
6 5 10
2 4 6 7 8 9
1 4
1 2
3 5
1 6
5 5
output
8
9
7
6
9
code
//Siberian Squirrel
//#include<bits/stdc++.h>
#include<unordered_map>
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cmath>
#define ACM_LOCAL
using namespace std;
typedef long long ll;
const double PI = acos(-1);
const double eps = 1e-7;
const int MOD = 3221225473;
const int N = 1e5 + 10;
const int UP = 1e4;
int a[N];
int l, r;
inline ll solve(int q, int k, ll res = 0) {
scanf("%d%d", &l, &r);
res += (a[l] - 1) + (k - a[r]);
res += 2 * ((a[r] - a[l] + 1) - (r - l + 1));
return res;
}
int main() {
#ifdef ACM_LOCAL
freopen("input", "r", stdin);
freopen("output", "w", stdout);
#endif
int o = 1, n, q, k;
// scanf("%d", &o);
while(o --) {
scanf("%d%d%d", &n, &q, &k);
for(int i = 1; i <= n; ++ i) {
scanf("%d", &a[i]);
}
for(int i = 1; i <= q; ++ i) {
printf("%lld\n", solve(q, k));
}
}
return 0;
}