    import java.util.Scanner;
     
    class Main{
    	public static void main(String arg[]) {
    		Scanner sc = new Scanner(System.in);
    		int A = sc.nextInt();
    		int B = sc.nextInt();
    		int C = sc.nextInt();
    		int D = sc.nextInt();
    		sc.close();
    		int[] Alice = new int[102];
    		int[] Bob = new int[102];
    		
    		int ans = Math.min(B, D) - Math.max(A, C);
          	if(ans >= 0){
            	System.out.println( ans );
            }else{
              	System.out.println( 0 );
            }
    	}
    } import java.util.Scanner; Scanner java.util class Main{
    	public static void main(String arg[]) {
    		Scanner sc = new Scanner(System.in);
    		int A = sc.nextInt();
    		int B = sc.nextInt();
    		int C = sc.nextInt();
    		int D = sc.nextInt();
    		sc.close();
    		int[] Alice = new int[102];
    		int[] Bob = new int[102];
    		
    		int ans = Math.min(B, D) - Math.max(A, C);
          	if(ans >= 0){
            	System.out.println( ans );
            }else{
              	System.out.println( 0 );
            }
    	}
    } Main public static void main(String arg[]) {
    		Scanner sc = new Scanner(System.in);
    		int A = sc.nextInt();
    		int B = sc.nextInt();
    		int C = sc.nextInt();
    		int D = sc.nextInt();
    		sc.close();
    		int[] Alice = new int[102];
    		int[] Bob = new int[102];
    		
    		int ans = Math.min(B, D) - Math.max(A, C);
          	if(ans >= 0){
            	System.out.println( ans );
            }else{
              	System.out.println( 0 );
            }
    	} main {
    		Scanner sc = new Scanner(System.in);
    		int A = sc.nextInt();
    		int B = sc.nextInt();
    		int C = sc.nextInt();
    		int D = sc.nextInt();
    		sc.close();
    		int[] Alice = new int[102];
    		int[] Bob = new int[102];
    		
    		int ans = Math.min(B, D) - Math.max(A, C);
          	if(ans >= 0){
            	System.out.println( ans );
            }else{
              	System.out.println( 0 );
            }
    	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int A = sc.nextInt(); A sc.nextInt() sc.nextInt sc int B = sc.nextInt(); B sc.nextInt() sc.nextInt sc int C = sc.nextInt(); C sc.nextInt() sc.nextInt sc int D = sc.nextInt(); D sc.nextInt() sc.nextInt sc sc.close() sc.close sc int[] Alice = new int[102]; Alice new int[102] 102 int[] Bob = new int[102]; Bob new int[102] 102 int ans = Math.min(B, D) - Math.max(A, C); ans Math.min(B, D) - Math.max(A, C) Math.min(B, D) Math.min Math B D Math.max(A, C) Math.max Math A C if(ans >= 0){
            	System.out.println( ans );
            }else{
              	System.out.println( 0 );
            } ans >= 0 ans 0 {
            	System.out.println( ans );
            } System.out.println( ans ) System.out.println System.out System System.out ans {
              	System.out.println( 0 );
            } System.out.println( 0 ) System.out.println System.out System System.out 0 String arg[] arg
    import java.util.Scanner;
     
    class Main{
    	public static void main(String arg[]) {
    		Scanner sc = new Scanner(System.in);
    		int A = sc.nextInt();
    		int B = sc.nextInt();
    		int C = sc.nextInt();
    		int D = sc.nextInt();
    		sc.close();
    		int[] Alice = new int[102];
    		int[] Bob = new int[102];
    		
    		int ans = Math.min(B, D) - Math.max(A, C);
          	if(ans >= 0){
            	System.out.println( ans );
            }else{
              	System.out.println( 0 );
            }
    	}
    }