import bisect n = int(input()) tails = [] for _ in range(n): L, R = map(int, input().split()) idx = bisect.bisect_left(tails, R) if idx == 0: x = L if x <= R: if not tails: tails.append(x) else: if x < tails[0]: tails[0] = x else: k = idx - 1 x = max(L, tails[k] + 1) if x > R: continue if idx >= len(tails): tails.append(x) else: if x < tails[idx]: tails[idx] = x print(len(tails))