//20 ptc
#include<stdio.h>
#define INF 1<<30
#include<string.h>
#include<algorithm>
using namespace std;
int q,l,s[251111],S,xx,y,x,p,n,m,i,j,t,sol,v[251111];
int suma(int x,int y){
int rez;
rez=s[y] - s[x-1];
return rez;
}
int calc(int a,int b){
int aux,rez = 0,mut = a;
if(b > a){
aux = a;
a = b;
b = aux;
}
rez = (a - b) * v[mut];
return rez;
}
int main(){
FILE *f=fopen("cuburi2.in","r");
FILE *g=fopen("cuburi2.out","w");
fscanf(f,"%d %d",&n,&m);
for(i=1; i<=n; i++){
fscanf(f,"%d",&v[i]);
s[i]=s[i-1] + v[i];
S+=v[i];
}
for(i=1;i<=m;i++){
fscanf(f,"%d %d",&x,&y);
sol = INF;
q=0;
//daca punem in x;
for(j=x;j<=y;j++){
q+=calc(j,x);
}
if(q < sol){
sol=q;
p=x;
}
for(l=x+1;l<=y;l++){
q+=suma(x,l-1);
q-=suma(l,y);
if(q < sol){
sol=q;
p=l;
}
}
fprintf(g,"%d %d\n",p,sol);
}
fclose(f);
fclose(g);
return 0;
}