#include <iostream>
using namespace std;

int main()
{

    int n, q, i, j, trenutna_kupovina = 0;
    long long pom = 0, dan_upita, ukupno_pojedeno = 0, dani_za_simulaciju, dani_za_jelo, dani[100000], pakovanja[100000], upiti[100000], rezultati[100000];

    cin >> n >> q;


    for (i = 0; i < n; i++)
    {
        cin >> dani[i] >> pakovanja[i];
    }

    for (i = 0; i < q; i++)
    {
        cin >> upiti[i];
    }

    for (i = 0; i < q; i++)
    {
        dan_upita = upiti[i];

        while (trenutna_kupovina < n && dani[trenutna_kupovina] <= dan_upita)
        {
            if (trenutna_kupovina > 0)
            {
                dani_za_simulaciju = dani[trenutna_kupovina] - dani[trenutna_kupovina - 1];
                dani_za_jelo = min(dani_za_simulaciju, pom);
                ukupno_pojedeno = ukupno_pojedeno + dani_za_jelo;
                pom = pom - dani_za_jelo;
            }

            pom = pom+pakovanja[trenutna_kupovina];
            trenutna_kupovina++;
        }

        if (trenutna_kupovina > 0)
        {
            dani_za_simulaciju = dan_upita - dani[trenutna_kupovina - 1] + 1;
            dani_za_jelo = min(dani_za_simulaciju, pom);
            ukupno_pojedeno = ukupno_pojedeno + dani_za_jelo;
            pom = pom - dani_za_jelo;
        }

        rezultati[i] = ukupno_pojedeno;
    }

    for (i = 0; i < q; i++)
    {
        cout << rezultati[i] << endl;
    }

    return 0;

}