#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);
    long long int visak=0, manjak=0;
    long long int idan=0;
    long long int rez=0;
    
    
    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]){
            for(int j=1;j<n;j++){
                if(d[j]-d[j-1]>p[j-1]){
                    manjak+=(d[j]-d[j-1])-p[j-1];
                }
                else if(d[j]-d[j-1]<=p[j-1]){
                    visak+=p[j-1]-(d[j]-d[j-1]);
                }
                
            }visak+=p[n-1]-1;
            if(visak>=k[i]-d[n-1]){
                rezultat[i]=k[i]+1-d[0]-manjak;
            }
            else if(visak<k[i]-d[n-1]){
                rezultat[i]=d[n-1]+1-d[0]-manjak+visak;
            }
        }
        
        
        else if(k[i]>d[0] && k[i]<d[n-1]){
            for(int m=0; m<n; m++){
                idan=d[m]+p[m]-1;
                if(k[i]>=d[m]){
                    if(k[i]>idan){
                        rez+=p[m];
                        
                    }
                    else{
                        rez+=k[i]-d[m];
                        break;
                    }
                }
                
            }
            rezultat[i]=rez+1;
        }
    }
    
    
    for(int i=0;i<q; i++){
        std::cout<<rezultat[i]<<std::endl;
    }
    
    return 0;
}