#include <iostream>
using namespace std;

int main()
{
    // ulaz
    int N,Q;
    cin >> N >> Q;

    int p[N];
    long long int d[N],k[Q];

    for(int i=0;i<N;i++)
    {
        cin >> d[i] >> p[i];
    } 

    for(int i=0;i<Q;i++)
    {
        cin >> k[i];
    } 




    // resavanje

   
    long long int br_pojedene_plazme=0;
    int ceo_staje=0;
    long long int prosli_krug=0;
    bool zastavica = false;
    bool zastavica1 = false;
    
 
    for(int j=0;j<Q;j++)
    {
        
        if(zastavica1) br_pojedene_plazme -= prosli_krug;
        zastavica = false;
        zastavica1 = false;
        
        for(int i=ceo_staje;i<N;i++)
        {
            if(d[i] + p[i] <= (k[j] + 1))
            { 
                br_pojedene_plazme += p[i];
                ceo_staje=i+1;
            }
            else
            {
                if(d[i] <= k[j])
                { 
                    prosli_krug =  k[j] - d[i] + 1;
                    br_pojedene_plazme += prosli_krug;
                    zastavica = true;
                    zastavica1 = true;
                    
                }    
                else
                { 
                    zastavica = true;
                   
                }
                if(zastavica) break;    
            }
        }

        cout << br_pojedene_plazme << "\n";
        


    }



    








    return 0;
}