#include <bits/stdc++.h>
using namespace std;
int main() {
    int brK, brP;
    cin >> brK >> brP;
    vector<long long> dan(brK);
    vector<long long> pak(brK);
    for (int i = 0; i < brK; i++) {
        cin >> dan[i] >> pak[i];
    }
    vector<long long> zbir(brK);
    zbir[0] = pak[0];
    for (int i = 1; i < brK; i++) {
        zbir[i] = zbir[i - 1] + pak[i];
    }
    for (int i = 0; i < brP; i++) {
        long long kraj;
        cin >> kraj;
        long long pojedeno = 0;
        long long poslednji = 0;
        for (int j = 0; j < brK; j++) {
            long long krajnji = dan[j] + pak[j] - 1;
            if (dan[j] > kraj) break;
            if (krajnji <= kraj) {
                pojedeno += pak[j];//dal long long ne prolazi prov
                poslednji = krajnji;
            } else {
                pojedeno += kraj - dan[j] + 1;
                break;
            }
        }
        cout << pojedeno << endl;
    }
    return 0;
}