#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream f("rmq.in");
ofstream g("rmq.out");
const int N=1e5+1;
const int LOG=log2(N)+1;
int n,m;
int v[N],logr[N],r[LOG][N];
void calclog(){
for(int i=2; i<=n; i++)
logr[i]=1+logr[i/2];
}
void calcmat(){
for(int i=1; i<=n; i++){
for(int j=0; j<=logr[i]; j++)
if(!j)
r[j][i]=v[i];
else
r[j][i]=min(r[j-1][i],r[j-1][i-(1<<(j-1))]);
}
}
int main()
{
f>>n>>m;
for(int i=1; i<=n; i++)
f>>v[i];
calclog();
calcmat();
for(int i=1; i<=m; i++){
int st,dr;
f>>st>>dr;
int p=logr[dr-st+1];
g<<min(r[p][dr],r[p][st+(1<<p)-1])<<'\n';
}
return 0;
}