#include <bits/stdc++.h>
#define ubrzaj ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);

using namespace std;

int main(){

    ubrzaj
    int n, q;
    cin >> n >> q;
    vector<pair<long long, long long>> v(n);
    for(int i=0; i<n; i++){cin >> v[i].first >> v[i].second;}

    /*
    for(int i=0; i<n; i++){cout << v[i].first << v[i].second;}
    */
    long long ostaloPlazmi=0,poslednji=0,ukupno=0;
    int j=0;
    for(int i=0; i<q; i++){
        long long k;
        cin >> k;

        while(j<n && v[j].first<=k){
            long long dan=v[j].first;
            long long plazma=v[j].second;

            if(poslednji<dan){
                long long ostaloDana=dan-poslednji;
                ukupno+=min(ostaloPlazmi,ostaloDana);

                ostaloPlazmi=max(0LL,ostaloPlazmi-ostaloDana);
                poslednji=dan;}

                ostaloPlazmi+=plazma;
                poslednji=dan;
                j++;
            }

    if(poslednji<=k){
        long long ostaloDana=k-poslednji+1;//-1
        ukupno+=min(ostaloPlazmi,ostaloDana);
        ostaloPlazmi=max(0LL,ostaloPlazmi-ostaloDana);
        poslednji=k;
    }

    cout << ukupno << endl;
    }
    return 0;
}