import java.util.Scanner;
import java.util.*;
import java.io.*;


public class Main{
    public static void main(String[] args) {

        Scanner sc = new Scanner(new BufferedInputStream(System.in));

        int n = sc.nextInt();
        int l = sc.nextInt();

        int[][] arr = new int[n][2];

        for(int i=0;i<n;i++){
            arr[i][0] = sc.nextInt();
            arr[i][1] = sc.nextInt();
        }

        Arrays.sort(arr,new Comparator<int[]>() {
            public int compare(int[] o1, int[] o2) {
                return o1[0]==o2[0]?o1[1]-o2[1]:o1[0]-o2[0];
            }
        });


        int right = 0; // 当前覆盖边界
        int res= 0;

        for(int i=0;i<n;){
            //左 够到门槛
            if(arr[i][0] <= right ){
                int max = 0;
                while(i<n && arr[i][0]<=right){
                    max = Math.max(max,arr[i][1]);
                    i++;
                }
                right = max;
                res++;
                if(right>=l) {
                    System.out.println(res);
                    return;
                }
            }else{
                System.out.println(-1);
                return;
            }
        }

        System.out.println(-1);
    }

}