#include <iostream>
#include <vector>


#define ll long long

using namespace std;

int main() {
    cin.tie(NULL);
    ios_base::sync_with_stdio(false);

    ll N, Q;
    cin >> N;
    cin >> Q;

    vector<ll> d(N);
    vector<ll> preostao(N);
    vector<ll> pojedena(N);
    
    cin >> d[0];
    cin >> preostao[0];
    pojedena[0] = 0;

    for (ll i = 1; i < N; i++) {
        ll x;
        cin >> d[i];
        cin >> x;

        if (preostao[i - 1] < d[i] - d[i - 1]) 
        {
            preostao[i] = x;
            pojedena[i] = pojedena[i - 1] + preostao[i - 1];
        }
        else {
            preostao[i] = preostao[i - 1] + x - (d[i] - d[i - 1]);
            pojedena[i] = pojedena[i - 1] + (d[i] - d[i - 1]);
        }
    }

    vector<ll> odgovori(Q);
    for (ll i = 0; i < Q; i++) 
    {
        ll k;
        cin >> k;

        
        ll l = 0;
        ll r = N - 1;
        ll x = -1;
        while (l <= r) 
        {
            ll m = (l + r) / 2;
            if (d[m] <= k) 
            {
                x = m;
                l = m + 1;
            }
            else 
            {
                r = m - 1;
            }
        }

        if (x != -1) 
        {
            if (d[x] == k)
            {
                odgovori[i] = preostao[x] > 0 ? pojedena[x] + 1 : pojedena[x];
            }
            else
            {
                odgovori[i] = preostao[x] < k - d[x] ? pojedena[x] + preostao[x] : pojedena[x] + (k - d[x] + 1);
            }
        }
    }
    for (ll i = 0; i < Q; i++)
    {
        cout << odgovori[i] << endl;
    }
}