import java.util.*;

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();
    System.out.println(Math.max(Math.min(b,d)-Math.max(a,c),0));
  }
} import java.util.*; util.* java 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();
    System.out.println(Math.max(Math.min(b,d)-Math.max(a,c),0));
  }
} 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();
    System.out.println(Math.max(Math.min(b,d)-Math.max(a,c),0));
  } main {
    Scanner sc=new Scanner(System.in);
    int a=sc.nextInt();
    int b=sc.nextInt();
    int c=sc.nextInt();
    int d=sc.nextInt();
    System.out.println(Math.max(Math.min(b,d)-Math.max(a,c),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 System.out.println(Math.max(Math.min(b,d)-Math.max(a,c),0)) System.out.println System.out System System.out Math.max(Math.min(b,d)-Math.max(a,c),0) Math.max Math 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 0 String[] args args
import java.util.*;

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();
    System.out.println(Math.max(Math.min(b,d)-Math.max(a,c),0));
  }
}