require 'set'

n, m = STDIN.gets.split.map(&:to_i)

cards = Set.new 1.upto(n)
l_max = 0
r_min = n + 1
m.times do
  l, r = STDIN.gets.split.map(&:to_i)
  l_max = l if l_max < l
  r_min = r if r < r_min
end

STDOUT.puts cards.delete_if {|c| c < l_max || r_min < c}.size