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

typedef long long ll;

int main() {
    
    int n, q;
    cin >> n >> q;
    
    vector<ll> dani(n), pakovanja(n);
    for(int i = 0; i < n; i++) {
        cin >> dani[i] >> pakovanja[i];
    }
    
    vector<ll> pitanja(q);
    for(int i = 0; i < q; i++) {
        cin >> pitanja[i];
    }
    
    for(int i = 0; i < q; i++) {
        ll krajnjiDan = pitanja[i];
        ll ukupnoPakovanjaPojela = 0;
        
        ll trenutniIndeks = 0;
        ll dostupnaPakovanja = 0;
        
        for(ll dan = 1; dan <= krajnjiDan; dan++) {
            while(trenutniIndeks < n && dani[trenutniIndeks] <= dan) {
                dostupnaPakovanja += pakovanja[trenutniIndeks];
                trenutniIndeks++;
            }
            
            if(dostupnaPakovanja > 0) {
                ukupnoPakovanjaPojela++;
                dostupnaPakovanja--;
            }
        }
        
        cout << ukupnoPakovanjaPojela << endl; // Changed \n to endl to ensure output is flushed
    }
    
    return 0;
}