# #输入第一行l和m # l_m=list(map(int,input().split())) # # sum=l_m[0] # # for i in range(l_m[1]): # u_v=list(map(int,input().split())) # sum-=(u_v[1]-u_v[0]) # # print(sum) # 没有考虑重叠的情况 # 读取马路长度 l 和区域数目 m(不是数组) l, m = map(int, input().split()) # 初始化一个布尔数组,用来标记每棵树是否被移除 # 因为有 l+1 个位置(长度+1个树),所以我们需要 l+1 个元素 trees = [False] * (l + 1) # 对于每一个区域 for i in range(m): u, v = map(int, input().split()) # 标记从 u 到 v 位置(包括 u 和 v)的树为需要移除 for j in range(u, v + 1): #左闭右开 trees[j] = True # 计算剩余的树木数量 remaining_trees = trees.count(False) #列表的方法 print(remaining_trees)