'''
对于每一个可能的终点数值,统计其对应的最靠右的起点
然后把这些终点-起点对按照终点大小升序排序,从左到右
选择区间,如果当前区间的起点大于已经选择过的区间中
的终点的最大值,就选择当前区间,并更新终点最大值为
当前区间的终点,线性扫描统计选中的区间的个数即可
'''
n = int(input())
m = {}
for i in range(n):
a, b = map(int, input().split())
if b not in m:
m[b] = a
else:
m[b] = max(m[b], a)
r = [(e, s) for e, s in m.items()]
r.sort()
min_end = -0x7fffffff
cnt = 0
for end, start in r:
if start > min_end:
min_end = end
cnt += 1
print(cnt)