#include <bits/stdc++.h>
/// Template Dutzu
#define fast ios_base::sync_with_stdio(false);cin.tie(0);
using namespace std;
ifstream fin("rmq.in");
ofstream fout("rmq.out");
int n;
int v[100001],bat[1001];
int main()
{
fast
int m;
fin>>n>>m;
for (int i=1; i<=n; i++)
fin>>v[i];
int lg = sqrt(n);
int nr = (n + lg - 1) / lg;
for (int i = 1; i <= nr; i++)
{
int minim = INT_MAX;
for (int j = (i - 1) * lg + 1; j <= min(i * lg, n); j++)
minim = min(minim, v[j]);
bat[i] = minim;
}
for (int l=1; l<=m; l++)
{
int a,b;
fin>>a>>b;
int blockA = (a - 1) / lg + 1;
int blockB = (b - 1) / lg + 1;
int rez = INT_MAX;
if (blockA == blockB)
{
for (int i = a; i <= b; i++)
rez = min(rez, v[i]);
}
else
{
for (int i = a; i <= blockA * lg; i++)
rez = min(rez, v[i]);
for (int i = blockA + 1; i <= blockB - 1; i++)
rez = min(rez, bat[i]);
for (int i = (blockB - 1) * lg + 1; i <= b; i++)
rez = min(rez, v[i]);
}
fout<<rez<<'\n';
}
return 0;
}