#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 7;
int M1[N][63], M2[N][63], q, n;
void st_RMQ1()
{
int len = log2(n);
for(int j = 1; j <= len; j++)
for(int i = 0; i + (1 << j) - 1 <= n; i++)
M1[i][j] = max(M1[i][j-1], M1[i + (1 << (j - 1))][j - 1]);
}
void st_RMQ2()
{
int len = log2(n);
for(int j = 1; j <= len; j++)
for(int i = 0; i + (1 << j) - 1 <= n; i++)
M2[i][j] = min(M2[i][j-1], M2[i + (1 << (j - 1))][j - 1]);
}
int RMQ(int l, int r, int M[N][63])
{
int k = log2(r - l + 1);
return max(M[l][k], M[r - (1 << k) + 1][k]);
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0), cout.tie(0);
cin>>n>>q;
for(int i = 1; i <= n; i++)
cin>>M1[i][0], M2[i][0] = M1[i][0];
st_RMQ1();
st_RMQ2();
for(int i = 1; i <= q; i++)
{
int a, b;
cin>>a>>b;
cout<<RMQ(a, b, M1) - RMQ(a, b, M2)<<'\n';
}
return 0;
}