	// 1行目がinput[0], 2行目がinput[1], …に入る
  input = input.split("\n")
  tmp0 = input[0].split(" ")
 
  N = Number(tmp0[0])
  M = Number(tmp0[1])
 
  var ansArr=[];
  for(var i=0; i < N; i++){
    ansArr.push(0)
  }
 
  for(var i=1; i <= M; i++)
  {
    var tmp1 = input[i].split(" ")
    var min = tmp1[0];max = tmp1[1];
    min = Number(tmp1[0])
    max = Number(tmp1[1])
    
    for(var j = min; j <= max; j++){
      ansArr[j-1]++
    }
  }
 
 var cnt=0;
 for(i=0;i<N;i++){
   if (ansArr[i]　==　M){var cnt=cnt+1;}
     }
 console.log(cnt);
}
//*この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
Main(require("fs").readFileSync("/dev/stdin", "utf8"));
// Main("3 4\n2 1 3\n3 1 2 3\n2 3 2")