import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();
        ArrayList<int[]> list = new ArrayList<>();
        for (int i = 0; i < n; i++) {
            int[] arr = new int[2];
            arr[0] = input.nextInt();
            arr[1] = input.nextInt();
            list.add(arr);
        }
        //这一步最重要,将给的活动排序,排序规则为按活动结束时间从小到大排
        //这样做最贪
        list.sort((o1, o2) -> {
            int num = o1[1] - o2[1];
            // num = num == 0 ? (o1[0] - o2[0]) : num;//实际上,开始时间是不需要排序的
            return num;
        });
        int end = 0;
        int sum = 0;
        for (int[] ints : list) {
            if (ints[0] >= end) {//开始时间和上一个的结束时间对比,只要大于就是不重叠的(因为结束时间已经排好序了),画个时间轴出来就很容易懂了。
                sum++;
                end = ints[1];
            }
        }
        System.out.println(sum);
    }
}