#include <bits/stdc++.h>
using namespace std;
// #pragma GCC optimize("Ofast")
// #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,fma")
// #pragma GCC optimize("unroll-loops")
#define ll long long
// #define int long long
#define F first
#define S second
void solve()
{
int n,m;
cin>>n>>m;
vector<pair<int,int>>q;
// multiset<int>w;
for(int i = 0;i<n;i++){
int x,y;
cin>>x>>y;
q.push_back({x,-y});
// w.insert(-y);
}
sort(q.begin(),q.end());
while(m--){
int x,y;
cin>>x>>y;
vector<pair<int,int>>a;
for(int i = 0;i<n;i++){
if(q[i].F>=x && -q[i].S<=y){
a.push_back({q[i].F,q[i].S});
}
}
if(a.size()==0){
cout<<0<<endl;
continue;
}
int kk = 0;
multiset<int>r;
r.insert(-a[0].S);
for(int i = 1;i<a.size();i++){
auto it = r.lower_bound(-a[i].S);
if(it == r.begin()){
r.insert(-a[i].S);
}
else{
it--;
r.erase(r.find(*it));
r.insert(-a[i].S);
}
}
cout<<r.size()<<endl;
}
}
signed main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int t = 1;
// cin >> t;
while (t--)
{
solve();
}
}