from collections import defaultdict N, M = map(int, input().split()) LR = [] nums = set() for i in range(M): l, r = map(int, input().split()) LR.append((l, r)) nums.add(l) nums.add(r) zaatsu = {} id = 0 for num in sorted(nums): zaatsu[num] = id id += 1 # 読み替え LR2 = [] in_events = defaultdict(list) out_events = defaultdict(list) for i in range(M): l, r = LR[i] l2, r2 = zaatsu[l], zaatsu[r] in_events[l2].append(i) out_events[r2].append(i) cnt = 0 que = [] done = [False] * M for i in range(0, 2*M + 1): # 受け入れ for idx in in_events[i]: que.append(idx) # このタイミングで串を指す必要があるか判断 flag = False for idx in out_events[i]: if done[idx]: continue flag = True if flag: cnt += 1 # que に入ってるやつらを done にする while que: target = que.pop() done[target] = True #print(done, cnt) ans = N - cnt print(ans)