#include <bits/stdc++.h>
using namespace std;
int main()
{
    long long int n;
    long long int q;
    cin>>n>>q;
    vector<pair<long long int,long long int>>niz(n);
    for(int i =0;i<n;i++){
        cin>>niz[i].first;
        cin>>niz[i].second;
    }
    long long int stanje=niz[0].second;
    long long int hasano=0;

    long long int kup=1;
    long long int inx=0;
    long long int njam;
    cin>>njam;
    vector<long long int>resenja;
    while(njam<niz[kup-1].first){
        // cout<<0;
        resenja.push_back(0);
        inx++;
        if (inx==q){
            for(auto i:resenja)cout<<i<<endl;
            return 0;
        }
        cin>>njam;
    }

    while(1){
        while(niz[kup].first>njam){
            // cout<<njam<<">>>"<<hasano+min(njam-niz[kup-1].first+1,stanje-hasano)<<endl;
            resenja.push_back(hasano+min(njam-niz[kup-1].first+1,stanje-hasano));
            inx++;
            if (inx==q){
                for(auto i:resenja)cout<<i<<endl;
                return 0;
            }
            cin>>njam;
        }
        hasano+=min(stanje-hasano,niz[kup].first-niz[kup-1].first);
        stanje+=niz[kup].second;
        kup++;
        if(kup==n){
            while(1){
            // cout<<njam<<">>>"<<hasano+min(njam-niz[kup-1].first+1,stanje-hasano)<<endl;
            resenja.push_back(hasano+min(njam-niz[kup-1].first+1,stanje-hasano));
            inx++;
            if (inx==q){
                for(auto i:resenja)cout<<i<<endl;
                return 0;
            }
            cin>>njam;
        }
        }
    }
    

    return 0;
}