#include<bits/stdc++.h>
using namespace std;
const long long int maxn=1e5+100;
int n,m;
struct node{
int a;
int b;
bool operator<(const node &rh)const{
if(b!=rh.b) return b<rh.b;
return a<rh.a;
}
}p[maxn];
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>p[i].a>>p[i].b;
}
sort(p+1,p+1+n);
if(p[1].b>m){
cout<<"0"<<endl;
return 0;
}
int count1=1;
int j=1;
for(int i=2;i<=n;i++){
if(p[i].a>=p[j].b){
j=i;
if(p[i].b<=m){
count1++;
}else break;
}
}
cout<<count1<<endl;
return 0;
}