import java.util.*;

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

public class Main{
	
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
  	int a=sc.nextInt(),b=sc.nextInt(),c=sc.nextInt(),d=sc.nextInt();
    if(b>=c&&d>=a){
      System.out.println((int)Math.min(Math.min(b-a,d-a),Math.min(b-c,d-c)));
    }else{
      System.out.println(0);
    }
  }
}
