#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

struct Opseg {
    long long pocetak;
    long long kraj;
};

int main()
{
    long long brojOpsega, brojPitanja;

    cin >> brojOpsega >> brojPitanja;

    long long pomocni1, pomocni2;

    vector<Opseg> opsezi;

    int brojac1 = 0;
    while (brojac1 < brojOpsega) {
        cin >> pomocni1 >> pomocni2;
        Opseg trenutniOpseg;
        trenutniOpseg.pocetak = pomocni1;
        trenutniOpseg.kraj = pomocni2 + pomocni1 - 1;

        int brojac2 = 0;
        while (brojac2 < brojac1) {
            if ((trenutniOpseg.pocetak >= opsezi[brojac2].pocetak) && 
                (trenutniOpseg.pocetak <= opsezi[brojac2].kraj)) {
                trenutniOpseg.pocetak = opsezi[brojac2].kraj + 1;
                trenutniOpseg.kraj = trenutniOpseg.pocetak + trenutniOpseg.kraj - pomocni1;
                pomocni1 = trenutniOpseg.pocetak;
            }
            brojac2++;
        }
        opsezi.push_back(trenutniOpseg);
        brojac1++;
    }

    vector<long long> upiti(brojPitanja);
    int brojac3 = 0;
    while (brojac3 < brojPitanja) {
        cin >> upiti[brojac3];
        brojac3++;
    }

    int brojac4 = 0;
    while (brojac4 < brojPitanja) {
        long long zbir = 0;
        int brojac5 = 0;

        while (brojac5 < brojOpsega) {
            if ((upiti[brojac4] > opsezi[brojac5].pocetak) && 
                (upiti[brojac4] > opsezi[brojac5].kraj)) {
                zbir += (opsezi[brojac5].kraj - opsezi[brojac5].pocetak + 1);
            } else if ((upiti[brojac4] > opsezi[brojac5].pocetak) && 
                       (upiti[brojac4] <= opsezi[brojac5].kraj)) {
                zbir += ((upiti[brojac4] - opsezi[brojac5].pocetak) + 1);
                break;
            } else if ((upiti[brojac4] == opsezi[brojac5].pocetak) && 
                       (upiti[brojac4] < opsezi[brojac5].kraj)) {
                zbir += 1;
                break;
            } else if ((upiti[brojac4] < opsezi[brojac5].pocetak) && 
                       (upiti[brojac4] < opsezi[brojac5].kraj)) {
                break;
            }
            brojac5++;
        }

        cout << zbir;
        if (brojac4 < brojPitanja - 1) {
            cout << endl;
        }

        brojac4++;
    }

    return 0;
}