#include<bits/stdc++.h>
using namespace std;

int main() {
    long long broj_dogadjaja, broj_upita;
    cin >> broj_dogadjaja >> broj_upita;

    vector<long long> vreme(broj_dogadjaja), poeni(broj_dogadjaja);
    for (long long i = 0; i < broj_dogadjaja; ++i) cin >> vreme[i] >> poeni[i];

    vector<long long> upiti(broj_upita);
    for (long long i = 0; i < broj_upita; ++i) cin >> upiti[i];

    vector<long long> prefiks_zbir(broj_dogadjaja);
    prefiks_zbir[0] = poeni[0];
    for (long long i = 1; i < broj_dogadjaja; ++i) 
        prefiks_zbir[i] = prefiks_zbir[i - 1] + poeni[i];

    for (long long q = 0; q < broj_upita; ++q) {
        long long k = upiti[q];
        long long levo = 0, desno = broj_dogadjaja - 1, indeks = -1;
        while (levo <= desno) {
            long long sredina = levo + (desno - levo) / 2;
            if (vreme[sredina] <= k) { 
                indeks = sredina; 
                levo = sredina + 1; 
            } else {
                desno = sredina - 1; 
            }
        }
        cout << (indeks == -1 ? 0 : prefiks_zbir[indeks]) << endl;
    }

    return 0;
}