n,m=map(int, input().split())
l_ans=1
r_ans=n
for i in range(m):
    l,r=map(int, input().split())
    l_ans=max(l_ans,l)
    r_ans=min(r_ans,r)

if r_ans>=l_ans:
    print(r_ans-l_ans+1)
else:
    print(0) n,m=map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split m l_ans=1 l_ans 1 r_ans=n r_ans n for i in range(m):
    l,r=map(int, input().split())
    l_ans=max(l_ans,l)
    r_ans=min(r_ans,r) i range(m) range m l,r=map(int, input().split()) l map(int, input().split()) map int input().split() ().split () input split r l_ans=max(l_ans,l) l_ans max(l_ans,l) max l_ans l r_ans=min(r_ans,r) r_ans min(r_ans,r) min r_ans r if r_ans>=l_ans:
    print(r_ans-l_ans+1)
else:
    print(0) r_ans>=l_ans r_ans l_ans print(r_ans-l_ans+1) print r_ans-l_ans+1 r_ans-l_ans r_ans l_ans 1 print(0) print 0 l_ans=1 1 l_ans l,r=map(int, input().split()) map(int, input().split()) l r=map(int, input().split()) map(int, input().split()) r r_ans=min(r_ans,r) min(r_ans,r) r_ans n,m=map(int, input().split()) map(int, input().split()) n m=map(int, input().split()) map(int, input().split()) m r_ans=n n r_ans l_ans=max(l_ans,l) max(l_ans,l) l_ans
n,m=map(int, input().split())
l_ans=1
r_ans=n
for i in range(m):
    l,r=map(int, input().split())
    l_ans=max(l_ans,l)
    r_ans=min(r_ans,r)

if r_ans>=l_ans:
    print(r_ans-l_ans+1)
else:
    print(0)