object Main {

  def main(args: Array[String]): Unit = {
    import scala.io.StdIn._

    val Array(n, m) = readLine().split(" ").map(_.toInt)

    // Lを小さい順に並べる
    val LR: Array[(Int, Int)] = (0 until m). map { _ =>
      val Array(l, r) = readLine().split(" ").map(_.toInt)
      (l, r)
    }. toArray. sortBy(_._1)

    // LRの共通領域
    def common(): Int = {
      val reduced = LR reduce { (b, n) =>
        val La = b._1
        val Ra = b._2
        val Lb = n._1
        val Rb = n._2
        if (Lb > Ra)
          return 0 // 全てのゲートを通過可能なIDカードはない
        else {
          // 共有している領域をみる, Lが小さい順で,
          // 共有していないものはない
          (Lb, Ra)
        }
      }
      reduced._2 - reduced._1 + 1
    }

    println(Math.min(common(), n))
  }

}