n, m = gets.split.map(&:to_i)
lmax = 0
rmin = n
m.times do |i|
  l, r = gets.split.map(&:to_i)
  lmax = l > lmax ? l : lmax
  rmin = rmin > r ? r : rmin
end

ans = (rmin - lmax + 1) > 0 ? rmin - lmax + 1 : 0

puts ans