#include<bits/stdc++.h>
using namespace std;
#define MAX 200005
typedef pair<int,int> P;

int N,M;
P t[MAX];

vector<int> G[MAX];

int main(){
  cin>>N>>M;
  for(int i=0;i<N;i++){
    int l,r;
    cin>>l>>r;
    t[i]=P(l,r);
    G[l].push_back(i);
  }

  vector<int> z;
  for(int id:G[0])z.push_back(id);
  
  priority_queue< P, vector<P> , greater<P> > Q;
  int cnt=0;
  for(int i=1;i<=M+1;i++){
    
    for(int id:G[i]){
      int r=t[id].second;

      
      if( min(i,M)-cnt>0){
        cnt++;
        Q.push( P(r,id) );

      }else{

        Q.push( P(r,id) );
        P p=Q.top();
        Q.pop();
        z.push_back( p.second );
      }

    }
  }
  for(int i=0;i<MAX;i++)G[i].clear();


  for(int id:z){
    //    cout<<id<<' '<<t[id].second<<endl;
    G[ t[id].second ].push_back(id);
  }
  
  int cc=0;
  for(int i=M;i>=1;i--){
    for(int id:G[i]){
      if(min(M-i+1,M-cnt)-cc>0){
        cc++;
      }
    }
  }

  //  cout<<cc<<' '<<cnt<<endl;
  
  cout<< N-M+(M-cc-cnt) <<endl;
  return 0;
}
