import java.util.*;
public class Main{
 public static void main(String[] args){
   Scanner sc = new Scanner(System.in);
   int A = sc.nextInt();
   int B = sc.nextInt();
   int C = sc.nextInt();
   int D = sc.nextInt();
 
   if(B<=C || D<=A)System.out.println(0);
   else if(C<=A&& B<=D) System.out.println(B-A);
   else if(A<=C&& D<=B) System.out.println(D-C);
   else if(A<C&&B>C) System.out.println(B-C);
   else System.out.println(D-A);
 }
} import java.util.*; util.* java public class Main{
 public static void main(String[] args){
   Scanner sc = new Scanner(System.in);
   int A = sc.nextInt();
   int B = sc.nextInt();
   int C = sc.nextInt();
   int D = sc.nextInt();
 
   if(B<=C || D<=A)System.out.println(0);
   else if(C<=A&& B<=D) System.out.println(B-A);
   else if(A<=C&& D<=B) System.out.println(D-C);
   else if(A<C&&B>C) System.out.println(B-C);
   else System.out.println(D-A);
 }
} Main public static void main(String[] args){
   Scanner sc = new Scanner(System.in);
   int A = sc.nextInt();
   int B = sc.nextInt();
   int C = sc.nextInt();
   int D = sc.nextInt();
 
   if(B<=C || D<=A)System.out.println(0);
   else if(C<=A&& B<=D) System.out.println(B-A);
   else if(A<=C&& D<=B) System.out.println(D-C);
   else if(A<C&&B>C) System.out.println(B-C);
   else System.out.println(D-A);
 } main {
   Scanner sc = new Scanner(System.in);
   int A = sc.nextInt();
   int B = sc.nextInt();
   int C = sc.nextInt();
   int D = sc.nextInt();
 
   if(B<=C || D<=A)System.out.println(0);
   else if(C<=A&& B<=D) System.out.println(B-A);
   else if(A<=C&& D<=B) System.out.println(D-C);
   else if(A<C&&B>C) System.out.println(B-C);
   else System.out.println(D-A);
 } 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 if(B<=C || D<=A)System.out.println(0);
   else if(C<=A&& B<=D) System.out.println(B-A);
   else if(A<=C&& D<=B) System.out.println(D-C);
   else if(A<C&&B>C) System.out.println(B-C);
   else System.out.println(D-A); B<=C || D<=A B<=C B C D<=A D A System.out.println(0) System.out.println System.out System System.out 0 if(C<=A&& B<=D) System.out.println(B-A);
   else if(A<=C&& D<=B) System.out.println(D-C);
   else if(A<C&&B>C) System.out.println(B-C);
   else System.out.println(D-A); C<=A&& B<=D C<=A C A B<=D B D System.out.println(B-A) System.out.println System.out System System.out B-A B A if(A<=C&& D<=B) System.out.println(D-C);
   else if(A<C&&B>C) System.out.println(B-C);
   else System.out.println(D-A); A<=C&& D<=B A<=C A C D<=B D B System.out.println(D-C) System.out.println System.out System System.out D-C D C if(A<C&&B>C) System.out.println(B-C);
   else System.out.println(D-A); A<C&&B>C A<C A C B>C B C System.out.println(B-C) System.out.println System.out System System.out B-C B C System.out.println(D-A) System.out.println System.out System System.out D-A D A String[] args args public class Main{
 public static void main(String[] args){
   Scanner sc = new Scanner(System.in);
   int A = sc.nextInt();
   int B = sc.nextInt();
   int C = sc.nextInt();
   int D = sc.nextInt();
 
   if(B<=C || D<=A)System.out.println(0);
   else if(C<=A&& B<=D) System.out.println(B-A);
   else if(A<=C&& D<=B) System.out.println(D-C);
   else if(A<C&&B>C) System.out.println(B-C);
   else System.out.println(D-A);
 }
} public class Main{
 public static void main(String[] args){
   Scanner sc = new Scanner(System.in);
   int A = sc.nextInt();
   int B = sc.nextInt();
   int C = sc.nextInt();
   int D = sc.nextInt();
 
   if(B<=C || D<=A)System.out.println(0);
   else if(C<=A&& B<=D) System.out.println(B-A);
   else if(A<=C&& D<=B) System.out.println(D-C);
   else if(A<C&&B>C) System.out.println(B-C);
   else System.out.println(D-A);
 }
} Main
import java.util.*;
public class Main{
 public static void main(String[] args){
   Scanner sc = new Scanner(System.in);
   int A = sc.nextInt();
   int B = sc.nextInt();
   int C = sc.nextInt();
   int D = sc.nextInt();
 
   if(B<=C || D<=A)System.out.println(0);
   else if(C<=A&& B<=D) System.out.println(B-A);
   else if(A<=C&& D<=B) System.out.println(D-C);
   else if(A<C&&B>C) System.out.println(B-C);
   else System.out.println(D-A);
 }
}