nn, mm = gets.split.map(&:to_i)
lr =
  readlines.map do |i|
    i.chomp.split.map(&:to_i)
  end

l_max = lr.sort{|a,b|b<=>a}[0][0]
r_min = lr.sort_by!{|a|a[1]}[0][1]
puts l_max>r_min ? 0 : (r_min - l_max + 1)