wa
#include <bits/stdc++.h>
using namespace std;
int n,q,r,l,a[100010],mx[1048576][20],mi[1048576][20];
void stmx(){
for (int i=1;i<=18;i++) mx[i][0]=a[i];
for (int j=1;(1<<j)<=n;j++){
for (int i=1;i+(1<<j)-1<=n;i++){
mx[i][j]=max(mx[i][j-1],mx[i+(1<<j-1)][j-1]);
}
}
}
void stmi(){
for (int i=1;i<=18;i++) mi[i][0]=a[i];
for (int j=1;(1<<j)<=n;j++){
for (int i=1;i+(1<<j)-1<=n;i++){
mi[i][j]=min(mi[i][j-1],mi[i+(1<<j-1)][j-1]);
}
}
}
int get_answer(){
int k=(int)log2(r-l+1);
return max(mx[l][k],mx[r-(1<<k)+1][k])-min(mi[l][k],mi[r-(1<<k)+1][k]);
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>n>>q;
for (int i=1;i<=n;i++) cin>>a[i];
stmx();
stmi();
while (q--){
cin>>l>>r;
cout<<get_answer()<<"\n";
}
return 0;
}