import bisect n = int(input()) intervals = [tuple(map(int, input().split())) for _ in range(n)] dp = [] for li, ri in intervals: idx = bisect.bisect_left(dp, ri) j_max = idx - 1 if j_max >= 0: x = max(li, dp[j_max] + 1) else: x = li if x > ri: continue if j_max + 1 < len(dp): if x < dp[j_max + 1]: dp[j_max + 1] = x else: dp.append(x) print(len(dp))