#include <iostream>

using namespace std;

int main() {
    int n, q;
    scanf("%d %d", &n, &q);
    long long d[n];
    long long p[n];
    for (int i = 0; i < n; i++)
    {
        scanf("%lld %lld", &d[i], &p[i]);
    }
    long long pojedeno = 0, dostupno = 0;
    int posldan = 0;
    int l = 0;
    bool sabiraj=true;
    for (int j = 0; j < q; j++)
    {
        long long k;
        scanf("%lld", &k);
        while (l < n && d[l] <= k) 
            {
              
                if (posldan > d[l] || (posldan<d[l] && dostupno>0)) 
                {
                    d[l] = posldan;
                }
                if(sabiraj) dostupno += p[l];
                if (k > dostupno + d[l] - 1) 
                {
                    posldan = d[l] + dostupno;
                    pojedeno += dostupno;
                    dostupno = 0;
                } 
                else
                {
                    posldan = k + 1;
                    pojedeno += k - d[l] + 1;
                    dostupno -= k - d[l] + 1;
                    sabiraj=false;
                    break;
                }
                l++;
                sabiraj=true;
            }
            printf("%lld\n", pojedeno);
    }
    return 0;
}