program plazma;
var N, Q, i, j,dan, ji,k,pojedena_pakovanja, pakovanja: integer;
di, pi, kj, odgovor:array[1..300000]of integer;
const modul=1000000007;
begin
read(N, Q);
for i:= 1 to N do
read(di[i], pi[i]);
for i:=1 to Q do
read(kj[i]);

for i := 1 to Q do begin
pojedena_pakovanja:=0;
pakovanja:=0;
k:= kj[i];
for j:= i to N do begin
    if di[j] > k then 
        break;
    pakovanja:=pakovanja+ pi[j];   
    
    for dan:= di[j] to k do begin
    if pakovanja>0 then begin
    pojedena_pakovanja:=pojedena_pakovanja+1 mod modul;
    pakovanja:=pakovanja-1;
    end
    else break;
    end;
    end;
        
odgovor[i]:= pojedena_pakovanja;
end;

for i:= 1 to Q do
writeln(odgovor[i]);
end.