#include<bits/stdc++.h>
using namespace std;
int c,l;
int ans=0;
struct st{
int minn;
int maxn;
}h[3000];
struct sl{
int cnt;
int shu;
}hh[3000];
bool cmp1(st b,st g){
return b.maxn<g.maxn;
}
bool cmp2(sl b,sl g){
return b.shu<g.shu;
}
int main(){
cin>>c>>l;
for(int i=1;i<=c;i++){
cin>>h[i].minn>>h[i].maxn;
}
for(int i=1;i<=l;i++){
cin>>hh[i].shu>>hh[i].cnt;
}
sort(h+1,h+c+1,cmp1);
sort(hh+1,hh+l+1,cmp2);
for(int i=1,j=1;i<=c;i++){
if(hh[j].shu<h[i].minn){
j++;
}
if(h[i].minn<=hh[j].shu&&h[i].maxn>=hh[j].shu&&hh[j].cnt>0){
hh[j].cnt-=1;
ans++;
}
if(j==l&&hh[j].cnt==0){
break;
}
if(hh[j].cnt==0){
j+=1;
}
}
cout<<ans;
return 0;
}