#include <iostream>
#include <vector>
#define MaxN 1000
using namespace std;
struct KupPlazme
{
    int d,p;
};
int brojPlazme(vector <KupPlazme> plazma,int t)
{int sum=0,br=0;
int index=0;
    for(int i=1;i<=t;i++)
    {
        ///pomNiz[wow]=0;
        ///int t=n1[i]-1;
       /// while(t>=0)
        ///{
            if(plazma[br].d==i)
            {
                sum=sum+plazma[br].p;
                br++;
            }
 
            if(sum>0)
            {
                index++;
                sum--;
            }
           /// t--;
           /// wow++;
       /// }
    }
    return index;
}
int main()
{int n,q,br=0,index=0,uk=0;
    cin>>n>>q;
    vector<KupPlazme> plazma;
    vector<int> pitanja;
    for(int i=0;i<n;i++)
    {
        KupPlazme a;
        int d,p;
        cin>>d>>p;
        a.d=d;
        a.p=p;
        plazma.push_back(a);
    }
    for(int j=0;j<q;j++)
    {
        int z;
        cin>>z;
        pitanja.push_back(z);
    }

    for(int u=0;u<q;u++)
    {
        int t=pitanja[u];
        cout<<brojPlazme(plazma,t)<<endl;
    }
    
    
    
    

    return 0;
}