#include <fstream>
using namespace std;
struct st{
int lf,rt,ln,rn,num;
} a[100000];
int n,m,an;
void ins(int l,int r,int p){
int i,j,mid;
// cout<<l<<" "<<r<<" "<<p<<" ";
if(a[p].lf==l&&a[p].rt==r){
a[p].num++;
}
else{
mid=(a[p].lf+a[p].rt)/2;
if(a[p].ln==0){
an++;
a[p].ln=an;
a[an].lf=a[p].lf;
a[an].rt=mid;
a[an].ln=0;a[an].rn=0;
a[an].num=0;
an++;
a[p].rn=an;
a[an].lf=mid+1;
a[an].rt=a[p].rt;
a[an].ln=0;a[an].rn=0;
a[an].num=0;
}
if(mid>=r) ins(l,r,a[p].ln);
else
if(l>mid) ins(l,r,a[p].rn);
else{
ins(l,mid,a[p].ln);
ins(mid+1,r,a[p].rn);
}
}
}
void prt(int p){
if(p!=0){
prt(a[p].ln);
if(a[p].num!=0){
cout<<a[p].lf<<" "<<a[p].rt<<" "<<a[p].num<<endl;
}
prt(a[p].rn);
}
}
int fnd(int k,int p){
int m=0,mid;
if(p!=0){
mid=(a[p].rt+a[p].lf)/2;
if(k<=mid) m=fnd(k,a[p].ln); else m=fnd(k,a[p].rn);
}
return m+a[p].num;
}
int main(){
int aj,ak,i;
ifstream fin("q.txt");
fin>>n>>m;
a[1].lf=0;
a[1].rt=100000;
a[1].ln=0;a[1].rn=0;
a[1].num=0;
an=1;
for(i=1;i<=n;i++){
fin>>aj>>ak;
ins(aj,ak,1);
}
prt(1);
for(i=1;i<=m;i++){
fin>>aj;
cout<<fnd(aj,1)<<" ";
}
fin.close();
}```