#include <iostream>
#include <queue>
using namespace std;

int main()
{
    long long n,q,a;
    long long b,c,zbir;
    cin>>n>>q;
    zbir=0;
    long long p[n];
    long long d[n];
    long long k[n];
    queue<long long>s;
    for(int i=0;i<n;i++)
    {
        cin>>a;
        d[i]=a;
        cin>>b;
        p[i]=b;
        zbir=zbir+p[i];
    }
    for(int i=0;i<q;i++)
    {
        cin>>c;
        k[i]=c;
    }
    for(int j=0;j<q;j++)
    {
        if(k[j]<d[0])
        {
            cout<<0;
            continue;
        }
        long long indeks=0;
        long long razlika=0;
        long long razlikatr=0;
        long long spec;
        long long cnt;
        if(n>2)
        {
            while(k[j]>=d[indeks] )
            {
                spec=0;
                if(d[indeks]<=k[j] && indeks!=n-1)
                {
                    s.push(d[indeks]);
                    razlikatr=d[indeks+1]-(d[indeks]+p[indeks]);
                    if(razlikatr<0)
                    {
                        razlikatr=0;
                        razlika=razlika+razlikatr;
                    }
                    else
                    {
                        razlika=razlika+razlikatr;
                        cnt=d[indeks]+p[indeks]-1;
                    }

                }
                if(indeks==n-2)
                {
                    spec=razlika;;
                }
                if(k[j]<=cnt)
                {
                    spec=0;
                }
                if(k[j]>cnt && indeks!=n-1)
                {
                    spec=razlikatr;
                }
                indeks++;
            }
            long long krvr=d[0]-1+zbir+spec;
            long long sum=0;
            if(k[j]<=krvr)
            {
                sum=k[j]-(s.front()-1)-spec;
            }
            if(k[j]>krvr)
            {
                sum=zbir;
            }
            cout<<sum<<endl;
            while(!s.empty())
            {
                s.pop();
            }
        }
        if(n==1)
        {
            if(k[j]>=d[0]-1+p[0])
            {
                cout<<p[0];
            }
            if(k[j]<d[0]-1+p[0] && k[j]>=d[0])
            {
                cout<<(k[j]-(d[0]-1));
            }
        }
        if(n==2)
        {
            if((d[1]-(d[0]+p[0]))<=0)
            {
                if(k[j]>=(p[0]+p[1]+(d[0]-1)))
                {
                    cout<<p[0]+p[1];
                }
                else
                {
                    cout<<k[j]-d[0]+1;
                }
            }
            else
            {
                long long raz=(d[1]-(d[0]+p[0]));
                long long indraz=d[0]+p[0];
                if(k[j]>=d[0]-1+p[0]+p[1]+raz)
                {
                    cout<<p[0]+p[1];
                }
                else
                {
                    if(k[j]>(d[0]+p[0]+raz-1))
                    {
                        cout<<k[j]-raz-d[0]+1;
                    }
                    else
                    {
                        cout<<k[j]-(k[j]-indraz+1+d[0]-1);
                    }
                }
            }

        }
    }
}