var n, m, i, j: longint;      //n - ile arów, rodzai traw  m- ile koszeń
    vv: array[1..1000002] of longint;        //szybkosc wzrostu trawy
    ww: array[1..1000002] of longint;        //aktualna wysokosc trawy
    d, dp, iledni: int64;       //dzień koszenia  dzien poprzedni ile dni
    b: int64;       //wysokość koszenia
    waga: int64;    //sumaryczna waga
    wysprzed,  skoszono: int64;
begin
   readln(n, m);
   for i:=1 to n do read(vv[i]);    readln;
   for i:=1 to n do ww[i]:=0;
   dp:=0;
   for j:=1 to m do   //koszenia
   begin
      readln(d, b);           //dzien;  wysokosc koszenia
      waga:=0;
      iledni:= d - dp;
      for i:=1 to n do
      begin
         wysprzed:=ww[i] + vv[i]*iledni;
         if b < wysprzed then  skoszono:= wysprzed - b
                         else  skoszono:= 0;
         waga:= waga + skoszono;
         if b < wysprzed then ww[i]:=b
                         else ww[i]:=wysprzed;
         dp:=d;
      end;
      writeln(waga);
   end;

    //readln;
end.
