#include <iostream>
#include <vector>

using namespace std;

typedef struct{

long long int nap;
long long int doboz;


}Plazma;

int main()
{

    long long int n, q;
    cin>>n>>q;

    vector<Plazma> vasarlas(n);
    vector<long long int> kerdesek(q);

    for(int i=0;i<n;i++)
    {
        cin>>vasarlas.at(i).nap>>vasarlas.at(i).doboz;
    }

    for(int i=0;i<q;i++)
    {
        cin>>kerdesek.at(i);
    }

    for(int j=0;j<q;j++)
    {
        long long int megevett=0;
        long long int napig=kerdesek.at(j);
        long long int  raktaron=0, ind=0;
        for(long long int i=0;i<napig;i++)
        {


            if(raktaron!=0)
                raktaron--;

            if(vasarlas.at(ind).nap==i+1)
            {
                raktaron+=vasarlas.at(ind).doboz;
                ind++;
            }

            if(ind>=n)
            {
                long long int osszdoboz=0;
                for(long long int i=0;i<n;i++)
                {
                    osszdoboz+=vasarlas.at(i).doboz;
                }


                if((napig-(i+1))<=(osszdoboz))
                {
                    megevett+=napig-(i+1)+1;
                }
                else
                {
                //megevett+=vasarlas.at(ind-1).doboz+raktaron;
                //megevett+=raktaron;

                megevett=0;
                for(int i=0;i<n;i++)
                {
                    megevett+=vasarlas.at(i).doboz;
                }

                }

                break;
            }

            if(raktaron!=0)
            {
                megevett++;
            }

            }

            cout<<megevett<<endl;
        }


    return 0;
}