import java.io.*;
import java.util.*;

public class Main{
    
    public static void main(String[] arg){

        Scanner scan =new Scanner(System.in);

        int n=Integer.parseInt(scan.next());
        int m=Integer.parseInt(scan.next());

        ArrayList<Integer> L=new ArrayList<Integer>();
        ArrayList<Integer> R=new ArrayList<Integer>();

        for(int i=0;i<m;i++){
            L.add(scan.nextInt());
            R.add(scan.nextInt());
        }

        Integer i=Collections.max(L);
        Integer j=Collections.min(R);

        System.out.print((i<=j) ? j-i+1 : 0);
     
    }
} import java.io.*; io.* java import java.util.*; util.* java public class Main{
    
    public static void main(String[] arg){

        Scanner scan =new Scanner(System.in);

        int n=Integer.parseInt(scan.next());
        int m=Integer.parseInt(scan.next());

        ArrayList<Integer> L=new ArrayList<Integer>();
        ArrayList<Integer> R=new ArrayList<Integer>();

        for(int i=0;i<m;i++){
            L.add(scan.nextInt());
            R.add(scan.nextInt());
        }

        Integer i=Collections.max(L);
        Integer j=Collections.min(R);

        System.out.print((i<=j) ? j-i+1 : 0);
     
    }
} Main public static void main(String[] arg){

        Scanner scan =new Scanner(System.in);

        int n=Integer.parseInt(scan.next());
        int m=Integer.parseInt(scan.next());

        ArrayList<Integer> L=new ArrayList<Integer>();
        ArrayList<Integer> R=new ArrayList<Integer>();

        for(int i=0;i<m;i++){
            L.add(scan.nextInt());
            R.add(scan.nextInt());
        }

        Integer i=Collections.max(L);
        Integer j=Collections.min(R);

        System.out.print((i<=j) ? j-i+1 : 0);
     
    } main {

        Scanner scan =new Scanner(System.in);

        int n=Integer.parseInt(scan.next());
        int m=Integer.parseInt(scan.next());

        ArrayList<Integer> L=new ArrayList<Integer>();
        ArrayList<Integer> R=new ArrayList<Integer>();

        for(int i=0;i<m;i++){
            L.add(scan.nextInt());
            R.add(scan.nextInt());
        }

        Integer i=Collections.max(L);
        Integer j=Collections.min(R);

        System.out.print((i<=j) ? j-i+1 : 0);
     
    } Scanner scan =new Scanner(System.in); scan new Scanner(System.in) int n=Integer.parseInt(scan.next()); n Integer.parseInt(scan.next()) Integer.parseInt Integer scan.next() scan.next scan int m=Integer.parseInt(scan.next()); m Integer.parseInt(scan.next()) Integer.parseInt Integer scan.next() scan.next scan ArrayList<Integer> L=new ArrayList<Integer>(); L new ArrayList<Integer>() ArrayList<Integer> R=new ArrayList<Integer>(); R new ArrayList<Integer>() for(int i=0;i<m;i++){
            L.add(scan.nextInt());
            R.add(scan.nextInt());
        } int i=0; int i=0; i 0 i<m i m i++ i++ i {
            L.add(scan.nextInt());
            R.add(scan.nextInt());
        } {
            L.add(scan.nextInt());
            R.add(scan.nextInt());
        } L.add(scan.nextInt()) L.add L scan.nextInt() scan.nextInt scan R.add(scan.nextInt()) R.add R scan.nextInt() scan.nextInt scan Integer i=Collections.max(L); i Collections.max(L) Collections.max Collections L Integer j=Collections.min(R); j Collections.min(R) Collections.min Collections R System.out.print((i<=j) ? j-i+1 : 0) System.out.print System.out System System.out (i<=j) ? j-i+1 : 0 (i<=j) i j j-i+1 j-i j i 1 0 String[] arg arg public class Main{
    
    public static void main(String[] arg){

        Scanner scan =new Scanner(System.in);

        int n=Integer.parseInt(scan.next());
        int m=Integer.parseInt(scan.next());

        ArrayList<Integer> L=new ArrayList<Integer>();
        ArrayList<Integer> R=new ArrayList<Integer>();

        for(int i=0;i<m;i++){
            L.add(scan.nextInt());
            R.add(scan.nextInt());
        }

        Integer i=Collections.max(L);
        Integer j=Collections.min(R);

        System.out.print((i<=j) ? j-i+1 : 0);
     
    }
} public class Main{
    
    public static void main(String[] arg){

        Scanner scan =new Scanner(System.in);

        int n=Integer.parseInt(scan.next());
        int m=Integer.parseInt(scan.next());

        ArrayList<Integer> L=new ArrayList<Integer>();
        ArrayList<Integer> R=new ArrayList<Integer>();

        for(int i=0;i<m;i++){
            L.add(scan.nextInt());
            R.add(scan.nextInt());
        }

        Integer i=Collections.max(L);
        Integer j=Collections.min(R);

        System.out.print((i<=j) ? j-i+1 : 0);
     
    }
} Main
import java.io.*;
import java.util.*;

public class Main{
    
    public static void main(String[] arg){

        Scanner scan =new Scanner(System.in);

        int n=Integer.parseInt(scan.next());
        int m=Integer.parseInt(scan.next());

        ArrayList<Integer> L=new ArrayList<Integer>();
        ArrayList<Integer> R=new ArrayList<Integer>();

        for(int i=0;i<m;i++){
            L.add(scan.nextInt());
            R.add(scan.nextInt());
        }

        Integer i=Collections.max(L);
        Integer j=Collections.min(R);

        System.out.print((i<=j) ? j-i+1 : 0);
     
    }
}