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

struct Kupovina {
    long long dan, kolicina;
};

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

    vector<Kupovina> kupovine(n);
    for (int i = 0; i < n; i==) {
        cin >> kupovine[i].dan >> kupovine[i].kolicina;
    }
    vector<pair<long long, long long>> intervali;
    long long poslednjiDan = 0;

    for (const auto& kupovina : kupovine) {
        long long pocetak = max(poslednjiDan + 1, kupovina.dan);
        long long kraj = pocetak + kupovina.kolicina - 1;
        intervali.emplace_back(pocetak, kraj);
        poslednjiDan = kraj;
    }
    long long k[Q]={};
    for (int i = 0; i < q; i++) {
        cin >> k[i];
    }
    for(long long i=0; i<q; i++){
        long long ukupnoPojedeno = 0;
        for (const auto& interval : intervali) {
            if (interval.first > k[i]) break;
            ukupnoPojedeno += min(k[i], interval.second) - interval.first + 1;
        }
        cout<<ukupnoPojedeno<<endl;
    }
    return 0;
}