#include<bits/stdc++.h>
using namespace std;
int f[10050][25],x,y;
long long n,m,ans,k;
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>f[i][0];
}
for(int j=1;j<20;j++)
{
for(int i=0;i+(1<<j)<=n+1;i++)
{
f[i][j]=max(f[i][j-1],f[i+(1<<(j-1))][j-1]);
}
}
for(int i=1;i<=m;i++)
{
cin>>x>>y;
k=log2(y-x+1);
ans=max(f[x][k],f[y-(1<<k)+1][k]);
cout<<ans<<endl;
}
return 0;
}
求问大佬