7紫1黑
#include<bits/stdc++.h>
using namespace std;
int st[10000005],endd[10000005],a,maxx,n,t,sum=1;
int main(){
cin>>n>>t;
for(int i=1;i<=n;i++)
cin>>st[i]>>endd[i];
for(int i=1;i<=n-1;i++)
for(int j=1;j<=n-i;j++)
if(st[j]>st[j+1]||(st[j]==st[j+1]&&endd[j]<endd[j+1])){
swap(st[j],st[j+1]);
swap(endd[j],endd[j+1]);
}
if(st[1]==1)
a=endd[1];
else{
cout<<"-1";
return 0;
}
int i=2;
while(a<t){
maxx=0;
while(st[i]<=a+1){
if(endd[i]>maxx)
maxx=endd[i];
i++;
}
if(maxx>a)
a=maxx;
else{
cout<<"-1";
return 0;
}
sum++;
}
cout<<sum;
}