// luogu-judger-enable-o2
#include<bits/stdc++.h>
using namespace std;
int n,m,ans=0,a[200005],ll,rr;
struct node
{
    int l,r;
    bool operator<(const node &a)const
    {return l!=a.l?l<a.l:r>a.r;}
}b[200005];
priority_queue<int,vector<int>,greater<int> > q;
int main()
{
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
    	cin>>b[i].l>>b[i].r;
	} 
    sort(b+1,b+n+1);
    ll=1,rr=m;
    for(int i=1;i<=n;i++)
	{
        q.push(b[i].r);
        if(ll<=rr&&ll<=b[i].l)
		{
			ll=ll+1;
		}
        else
		{
            a[++a[0]]=q.top();
            q.pop();
        }
    }
    sort(a+1,a+a[0]+1);
    for(int i=a[0];i>=1;i--)
	{
        if(ll<=rr&&a[i]<=rr)
		{
			rr--;
		}
        else ans++;
    }
    cout<<ans;
}