#include <iostream>
#include <algorithm>
using namespace std;
/*
1=N,Q=300,000
1=pi=10^9 ?? ????? i
1=d1<d2<?<dN=10^18
1=k1<k2<?<kQ=10^18
*/
//Drugi, Ubrzaj ako mozes
int main() {
    int n, q;
    scanf("%d %d", &n, &q);

    long long d[n];
    int p[n];
    for (int i = 0; i < n; i++) {
        scanf("%lld %d", &d[i], &p[i]);
    }

    long long k[q];
    for (int i = 0; i < q; i++) {
        scanf("%lld", &k[i]);
    }
    
    int pom1 = 0; 
    int pom2 = 0;
    long long z = 0;
    long long tr = 0;
    for(long long i = 1;i<=k[q-1];i++){
        if(i == d[pom2]){
            tr = tr + p[pom2];
            pom2++;
        }
        if(tr>0){
            tr = tr - 1;
            z = z + 1;
        }
        if(i == k[pom1]){
            printf("%lld\n", z);
            pom1++;
        }
        if(i >= d[n-1] && k[pom1]>i+tr){
            for(int j = 0;j<q-pom1;j++){
                printf("%lld\n", z+tr);
            }
            break;
        }

    }
    return 1;
}