#include <iostream>
#include <vector>
int main()
{
    int n, q;
    std::cin>>n;
    std::cin>>q;
    std::vector<int>p(n);
    std::vector<long long int>d(n);
    for(int i=0; i<n; i++){
        std::cin>>d[i];
        std::cin>>p[i];
    }
    std::vector<long long int>k(q);
    for(int i=0; i<q; i++){
        std::cin>>k[i];
    }
    std::vector<long long int>rezultat(q);
    std::vector<long long int>manjak(n,0);
    std::vector<long long int> visak(n,0);
    for(int j=1;j<n;j++){
                if(d[j]-d[j-1]>p[j-1]){
                    manjak[j]=manjak[j-1]+((d[j]-d[j-1])-p[j-1]);
                    visak[j]=visak[j-1];
                }
                else{
                    visak[j]=visak[j-1]+(p[j-1]-(d[j]-d[j-1]));
                    manjak[j]=manjak[j-1];
                }
                
            }    
        visak[n-1]+=p[n-1]-1;
    
    for(int i=0; i<q; i++){
        
        
        if(k[i]<d[0]){
            rezultat[i]=0;
        }
        else if(k[i]==d[0]){
            rezultat[i]=1;
        }
        
        
        else if(k[i]>=d[n-1]){
            if(visak[n-1]>=k[i]-d[n-1]){
                rezultat[i]=k[i]+1-d[0]-manjak[n-1];
            }
            else{
                rezultat[i]=d[n-1]+1-d[0]-manjak[n-1]+visak[n-1];
            }
        }
        
        
        else {
            long long int rez=0;
            int m=0;
            while(m<n && k[i]>=d[m]{
                    if(k[i]>d[m]+p[m]-1){
                        rez+=p[m];
                        
                    }
                    else{
                        rez+=k[i]-d[m];
                        break;
                    }
                m++;
                
            }
            rezultat[i]=rez+1;
        }
    }
    
    
    for(const auto r:rezultat){
        std::cout<<r<<std::endl;
    }
    
    return 0;
}