#include<stdio.h>
#define N 10000
int main(void)
{
int m, n;//定义有m笔账,n个问题
scanf("%d %d", &m, &n);
int i=0,j=0,temp,p[N],w1[N],w2[N] ;//i是账单数据数,j是问题数,p[]是账单数组,w是问题数组
for (; i < m; i++)//录入账单数据
{
scanf("%d", &p[i]);
}
for (; j < n; j++)//录入问题中起始和结束的账单位置
{
scanf("%d %d", &w1[j], &w2[j]);
}
int x = 0, y,k;
for (; x < n; x++)
{
k = w1[x]-1;
y = p[k];
for (; k < w2[x]-1; k++)
{
if (y > p[k + 1])
y = p[k + 1];
}
printf("%d\n", y);
}
}