#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main()
{
    long long int n, q;
    cin >> n >> q;

    vector<pair<unsigned long long int, unsigned long long int>> niz(n); // pamti dan i kupljenu plazmu, ovo stavljamo za prostor jer su brojevi bas apsurdno veliki
    unsigned long long int trn, plazme;

    for (int i = 0; i < n; i++)
    {
        cin >> trn >> plazme;
        niz[i] = {trn, plazme};
    }// sad su lepo sacuvani

    unsigned long long int pitanje, i=0,izlaz = 0;
    while(q>0)
    {
        cin >> pitanje;

        if(pitanje >= niz[0].first)
        {
            for(; niz[i].first + niz[i].second + izlaz <=pitanje && i < n; i++)
            {
                izlaz+=niz[i].second;
            };// ovde je granica svih manjih


            if(pitanje < niz[i].first)
                cout << izlaz << "\n";

            else if(pitanje < niz[i].first + niz[i].second)
            {
                cout << izlaz + pitanje - niz[i].first + 1 << "\n";
            }


        }

        else
        {
            cout << 0 << "\n";
        }


        q--;
    }



    return 0;
}