#include<iostream>
#include<vector>
#include<algorithm>

using namespace std;

int main(){
    int N;
    cin>>N;
    vector<pair<int,int>>A(N);
    vector<pair<int,int>>B(N);
    
    for(int i=0;i<N;i++){
        cin>>A[i].second>>A[i].first;
    }
    for(int i=0;i<N;i++){
        cin>>B[i].first>>B[i].second;
    }
    
    sort(A.begin(),A.end(),greater<pair<int,int>>());
    sort(B.begin(),B.end());
    
    int ans=0;
    bool flag[100]={0};
    int tmp=0;
    int index=0;
    
    for(int i=0;i<N;i++){
        for(int j=0;j<N;j++){
            if(A[j].second<B[i].first && A[j].first<B[i].second && !flag[j]){
                ans++;
                flag[j]=true;
                break;
            }
        }
    }
    
    cout<<ans<<endl;
    
}