#include <iostream>
#include<bits/stdc++.h>
using namespace std;
int main() {
int q ; cin>>q; int p ; cin>>p;
vector<vector<int>>query(q,vector<int>(2,0));
vector<pair<int,int>>bounds;
for(int i = 0 ; i<q;i++){
int l ; int r ;
cin>>l>>r;
query[i][0]=l; query[i][1]=r;
bounds.push_back({l,0});
bounds.push_back({r,1});
}
sort(bounds.begin(),bounds.end());
int n = bounds.size();
map<int,int>prefix;
for(int i = 0 ; i<n;i++){
if(bounds[i].second==0) prefix[bounds[i].first]++;
else{
prefix[bounds[i].first]--;
}
}
for(int i = 0 ; i<p;i++){
int point ; cin>>point;
int ans=0;
for(auto b : prefix){
if(b.first<=point) ans+=b.second;
else{
break;
}
}
cout<<ans;
}
// your code goes here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKCmludCBtYWluKCkgewoJaW50IHEgOyBjaW4+PnE7IGludCBwIDsgY2luPj5wOwoJdmVjdG9yPHZlY3RvcjxpbnQ+PnF1ZXJ5KHEsdmVjdG9yPGludD4oMiwwKSk7Cgl2ZWN0b3I8cGFpcjxpbnQsaW50Pj5ib3VuZHM7Cglmb3IoaW50IGkgPSAwIDsgaTxxO2krKyl7CgkJaW50IGwgOyBpbnQgciA7IAoJCWNpbj4+bD4+cjsKCQlxdWVyeVtpXVswXT1sOwlxdWVyeVtpXVsxXT1yOwoJCWJvdW5kcy5wdXNoX2JhY2soe2wsMH0pOwoJCWJvdW5kcy5wdXNoX2JhY2soe3IsMX0pOwoJfQogICAgCglzb3J0KGJvdW5kcy5iZWdpbigpLGJvdW5kcy5lbmQoKSk7CgkKCWludCBuID0gYm91bmRzLnNpemUoKTsKCW1hcDxpbnQsaW50PnByZWZpeDsKCWZvcihpbnQgaSA9IDAgOyBpPG47aSsrKXsKCQlpZihib3VuZHNbaV0uc2Vjb25kPT0wKSBwcmVmaXhbYm91bmRzW2ldLmZpcnN0XSsrOwoJCWVsc2V7CgkJCXByZWZpeFtib3VuZHNbaV0uZmlyc3RdLS07CgkJfQoJfQoJZm9yKGludCBpID0gMCA7IGk8cDtpKyspewogICAJICAgIGludCBwb2ludCA7IGNpbj4+cG9pbnQ7CiAgIAkgICAgaW50IGFucz0wOwogICAJICAgIGZvcihhdXRvIGIgOiBwcmVmaXgpewogICAJICAgIAlpZihiLmZpcnN0PD1wb2ludCkgYW5zKz1iLnNlY29uZDsKICAgCSAgICAJZWxzZXsKICAgCSAgICAJCWJyZWFrOwogICAJICAgIAl9CiAgIAkgICAgfQogICAJICAgIGNvdXQ8PGFuczsKICAgICAgIH0KCQoJCgkKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCXJldHVybiAwOwp9