#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
 
struct meet{
    int s;
    int e;
};
 
bool cmp(meet a,meet b){
    return a.e<=b.e;
}
 
int n;
bool flag[1000];
int index1=0;
 
void anpai(meet a[]){
	int endtmp=0;
	//int cnt_1=0
    for(int i=1;i<=n;i++){
    	if(flag[i] == false){
	    	if(a[i].s>=endtmp){
	            endtmp=a[i].e;
	            flag[i]=true;
	            //cnt_1++;
	            index1++;
	        }
		}
    }
    //cout<<"-"<<cnt_1<<"-"<<endl;
}
int main(){
    cin>>n;
    meet a[1000];
    memset(a,0,sizeof(a));
    memset(flag,false,sizeof(flag));
    for(int i=1;i<=5;i++){
        cin>>a[i].s>>a[i].e;
    }
     
    sort(a+1,a+1+n,cmp);
    
    int cnt=0;
    while(index1 != n){
    	anpai(a);
    	cnt++;
	}

	cout<<cnt<<endl;
    return 0;
}