<Problem>
http://ntucoder.net/Problem/Details/5574 Uses Crt,math;
Var n,q,i,a,b:longint; f:array[0..100000] of int64; //kq:int64;
Function Tim(l,r:longint):longint;
var tg:longint; s1,s2,kq:int64;
begin
while l<=r do
begin
tg:=(l+r) div 2;
s1:=f[tg]-f[a-1];
s2:=f[b]-f[tg];
kq:=min(kq,abs(s1-s2));
if s1<s2 then l:=tg+1 else r:=tg-1;
end;
tim:=kq;
end;
Begin
readln(n,q);
f[0]:=0;
for i:=1 to n do
begin
read(a);
f[i]:=f[i-1]+a;
end;
for i:=1 to q do
begin
readln(a,b);
writeln(tim(a,b));
end;
End.