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


int main(){


    int n;
    int q;
    cin>>n;
    cin>>q;
    long long daniK[n];
    long long daniJ[q];
    long long kupovina[n];

    for(int i = 0; i<=n-1; i++){

        long long x;
        cin>>x;
        daniK[i] = x;
        long long y;
        cin>>y;
        kupovina[i] = y;

    }
    for(int i = 0; i<=q-1; i++){

        long long x;
        cin>>x;
        daniJ[i] = x;
    }

    long long k = 0;
    long long res = 0;

    long long i = 0;
    long long j = 0;
    long long tr = daniK[0];

    while(daniJ[j] < daniK[i]){
        tr = daniJ[j];
        j++;
        cout<<"0"<<endl;
    }


    while(j<=q-1){

        if(i == n){
            i = n-1;
            daniK[i] = LLONG_MAX;
        }

        if(daniJ[j] < daniK[i]){


            if(k>0){

                if(k>daniJ[j] - tr){

                    res+=(daniJ[j] - tr);
                    k-=(daniJ[j] - tr);
                }
                else{

                    res+=k;
                    k = 0;
                }
            }

            tr = daniJ[j];
            cout<<res<<endl;
            j++;
        }
        else{

            if(k>0){

                if(k>=daniK[i] - tr){

                    res+=(daniK[i] - tr);
                    k-=(daniK[i] - tr);
                    k+=kupovina[i];
                }
                else{

                    if(kupovina[i]>0){
                        k++;
                    }
                    res+=k;
                    k = 0;
                    k+=(kupovina[i]-1);
                }
            }
            else{
                if(kupovina[i]>0){
                    res++;
                    k+=(kupovina[i]-1);
                }
            }
            tr = daniK[i];
            i++;
        }
    }




}