L,M=list(map(int,input().split())) list_lr=[] for i in range(M): l,r=list(map(int,input().split())) #所有施工区域生成一个列表 list_lr.append((l,r)) # 按左端点排序 sorted_list_lr=sorted(list_lr,key=lambda x:x[0]) # 合并区间 merged=[] for curr_list_lr in sorted_list_lr: if not merged: merged.append(curr_list_lr) else: # 上一区间 last=merged[-1] # 如果当前区间与上一区间重叠或相邻,则合并 if curr_list_lr[0]<=last[1]+1: merged[-1]=(last[0],max(last[1],curr_list_lr[1])) else: merged.append(curr_list_lr) # 移除的总棵树 removed=0 for j in merged: removed+=j[1]-j[0]+1 # 剩余总棵树=总-移除 print(L+1-removed)