/*

Izvinjavam se kome god pregledava ovaj kod,
mislim da ja necu biti jedini što je dobio nervni slom citajuci kod :(

*/

#include <bits/stdc++.h>
using namespace std;

unsigned int n, q;
unsigned int x, y, temp;
vector<unsigned long long> stanje;
vector<unsigned long long> pojedeno;
unsigned long long newStanje, newPojedeno, izlaz, pojedenoVelicina;

int main() {
    cin >> n >> q;

    long long dan=1;
    stanje.push_back(0);
    pojedeno.push_back(0);
    for(int i = 1; i <= n; i++) {
        cin >> x >> y;

        while(dan < x) {

            if (stanje.back() != 0){
                stanje.push_back(stanje.back());
                pojedeno.push_back(pojedeno.back());
                stanje.back()--;
                pojedeno.back()++;
            }
            else if (stanje.back() == 0) {
                stanje.push_back(0);
                pojedeno.push_back(pojedeno.back());
            }
            //cout << dan << ": " << stanje.back() << " " << pojedeno.back() << endl;
            dan++;
        }

        dan++;
        newStanje = stanje.back() + y - 1;
        newPojedeno = pojedeno.back() + 1;

        //cout << newStanje << " " << newPojedeno << endl;

        stanje.push_back(newStanje);
        pojedeno.push_back(newPojedeno);
    }

        /*while (stanje.back() != 0) {
            stanje.push_back(stanje.back());
            pojedeno.push_back(pojedeno.back());
            stanje.back()--;
            pojedeno.back()++;
        } */


        /*for (int i : stanje) {
            cout << i << " ";
        }

        cout << endl;
        for (int i : pojedeno) {
            cout << i << " ";
        }
        cout << endl;*/

        //cout << "size: " << pojedeno.size() << endl;
        for(int i = 0; i<q; i++) {
            cin >> temp;

            pojedenoVelicina = pojedeno.size();
            int maksPojedeno = pojedeno.back() + stanje.back();
            int poslednjiDan = stanje.size() + stanje.back();
            if (temp < pojedenoVelicina--) {
                izlaz = pojedeno[temp];
            }
            else if (pojedenoVelicina-- <= temp && temp < poslednjiDan){
            izlaz = pojedeno.back() + (temp - pojedenoVelicina - 1);
            }
            else {
                izlaz = pojedeno.back() + stanje.back();
            }
            cout << izlaz << endl;
        }

    return 0;
}