#include <iostream>
#include <vector>

using namespace std;


struct Plazma 
{
    unsigned long long d, p;
};

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n, q;
    cin>> n >> q;
    vector <Plazma> kupovina(n);
    for (int i=0; i<n; i++)
    {
        cin>> kupovina[i].d>>kupovina[i].p;
    }
    vector <unsigned long long> k(q);
    for (int i=0; i<q; i++)
    {
        cin>> k[i];
    }


    unsigned long long a[q], x=0, l=0;
    long long h=0, j=0, d;
    for (int i=1; i<=k[q-1]; i++)
    {
        if (j<n && i==kupovina[j].d)
        {
            h=h+kupovina[j].p;
            j++;
        }
        if (i<kupovina[0].d)
        {
            d=i;
        }
        else
        {
            d=i-kupovina[j-1].d+1;
        }
        if (h<d)
            {
                x++;
            }
        if (l<q && i==k[l])
        {
            
            a[l]=i-x;
            l++;
        }
       
    }
    for (int i=0; i<q; i++)
    {
        cout<< a[i]<< endl;
    }
    
    return 0;
}