#include <bits/stdc++.h>

using namespace std;

#define ll long long

int main()
{
    // takmicarkso programiranje
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    // unos
    int n, q; cin >> n >> q;
    pair<ll, int> plazme[n];
    for (int i = 0; i < n; i++) {
        ll dan; int kolicina; cin >> dan >> kolicina;
        plazme[i] = {dan, kolicina};
    }
    ll pitanja[q];
    for (int i = 0; i < q; i++) cin >> pitanja[i];

    // pravljenje intervala
    pair<ll, ll> intervali[n];
    int n_intervala = 0;
    ll pocetak = plazme[0].first, duzina = plazme[0].second;
    for (int i = 1; i < n; i++)
    {
        if (plazme[i].first <= pocetak + duzina) 
        {
            duzina += plazme[i].second;
        }
        else
        {
            intervali[n_intervala] = {pocetak, duzina};
            n_intervala++;

            pocetak = plazme[i].first;
            duzina = plazme[i].second;
        }
    }
    intervali[n_intervala] = {pocetak, duzina};
    n_intervala++;

    // racunanje dana
    ll jela_dana = 0;
    int i_intervala = 0;
    for (int i = 0; i < q; i++)
    {
        ll do_dana = pitanja[i];

        // ubaceni celi intervali
        while (i_intervala < n_intervala && intervali[i_intervala].first + intervali[i_intervala].second < do_dana) {
            jela_dana += intervali[i_intervala].second;
            i_intervala++;
        }
        
        // da li ulazi u drugi interval
        if (i_intervala < n_intervala && do_dana >= intervali[i_intervala].first) cout << jela_dana + do_dana - intervali[i_intervala].first + 1 << endl;
        else cout << jela_dana << endl;
    }
}