#include <fstream>
#define INF 1000000000
using namespace std;
ifstream cin "rmq.in");
ofstream cout("rmq.out");
int v[17][100010];
int x[100010];
int n,m,i,j,st,dr,minim,p,poz,len;
int main () {
cin>>n>>m;
for (i=1;i<=n;i++) {
cin>>v[0][i];
}
for (p=1;(1<<p)<= n;p++) {
for (i=1;i<=n;i++) {
v[p][i]=v[p-1][i];
j=i+(1<<(p-1));
if (j<=n&&v[p][i]>v[p-1][j]) {
v[p][i]=v[p-1][j];
}
}
}
x[1]=0;
for (i=2;i<=n;i++)
x[i]=1+x[i/2];
for (i=1;i<=m;i++) {
fin>>st>>dr;
poz=x[dr-st+1];
len = (1<<e);
cout<<min(v[poz][st],v[poz][dr-len+1])<<"\n";
}