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(A < C){
      if(B <= C){
        System.out.println(0);
      }else if(D <= B){
        System.out.println(D - C);
      }else{
        System.out.println(B - C);
      }
    }else if(A > C){
      if(D <= A){
        System.out.println(0);
      }else if(B <= D){
        System.out.println(B - A);
      }else{
        System.out.println(D - A);
      }
    }else{
      if(B <= D){
        System.out.println(B - A);
      }else{
        System.out.println(D - C);
      }
    }

  }
} 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(A < C){
      if(B <= C){
        System.out.println(0);
      }else if(D <= B){
        System.out.println(D - C);
      }else{
        System.out.println(B - C);
      }
    }else if(A > C){
      if(D <= A){
        System.out.println(0);
      }else if(B <= D){
        System.out.println(B - A);
      }else{
        System.out.println(D - A);
      }
    }else{
      if(B <= D){
        System.out.println(B - A);
      }else{
        System.out.println(D - C);
      }
    }

  }
} 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(A < C){
      if(B <= C){
        System.out.println(0);
      }else if(D <= B){
        System.out.println(D - C);
      }else{
        System.out.println(B - C);
      }
    }else if(A > C){
      if(D <= A){
        System.out.println(0);
      }else if(B <= D){
        System.out.println(B - A);
      }else{
        System.out.println(D - A);
      }
    }else{
      if(B <= D){
        System.out.println(B - A);
      }else{
        System.out.println(D - C);
      }
    }

  } main {
    Scanner sc = new Scanner(System.in);
    int A = sc.nextInt();
    int B = sc.nextInt();
    int C = sc.nextInt();
    int D = sc.nextInt();
    if(A < C){
      if(B <= C){
        System.out.println(0);
      }else if(D <= B){
        System.out.println(D - C);
      }else{
        System.out.println(B - C);
      }
    }else if(A > C){
      if(D <= A){
        System.out.println(0);
      }else if(B <= D){
        System.out.println(B - A);
      }else{
        System.out.println(D - A);
      }
    }else{
      if(B <= D){
        System.out.println(B - A);
      }else{
        System.out.println(D - C);
      }
    }

  } 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(A < C){
      if(B <= C){
        System.out.println(0);
      }else if(D <= B){
        System.out.println(D - C);
      }else{
        System.out.println(B - C);
      }
    }else if(A > C){
      if(D <= A){
        System.out.println(0);
      }else if(B <= D){
        System.out.println(B - A);
      }else{
        System.out.println(D - A);
      }
    }else{
      if(B <= D){
        System.out.println(B - A);
      }else{
        System.out.println(D - C);
      }
    } A < C A C {
      if(B <= C){
        System.out.println(0);
      }else if(D <= B){
        System.out.println(D - C);
      }else{
        System.out.println(B - C);
      }
    } if(B <= C){
        System.out.println(0);
      }else if(D <= B){
        System.out.println(D - C);
      }else{
        System.out.println(B - C);
      } B <= C B C {
        System.out.println(0);
      } System.out.println(0) System.out.println System.out System System.out 0 if(D <= B){
        System.out.println(D - C);
      }else{
        System.out.println(B - C);
      } D <= B D B {
        System.out.println(D - C);
      } System.out.println(D - C) System.out.println System.out System System.out D - C D C {
        System.out.println(B - C);
      } System.out.println(B - C) System.out.println System.out System System.out B - C B C if(A > C){
      if(D <= A){
        System.out.println(0);
      }else if(B <= D){
        System.out.println(B - A);
      }else{
        System.out.println(D - A);
      }
    }else{
      if(B <= D){
        System.out.println(B - A);
      }else{
        System.out.println(D - C);
      }
    } A > C A C {
      if(D <= A){
        System.out.println(0);
      }else if(B <= D){
        System.out.println(B - A);
      }else{
        System.out.println(D - A);
      }
    } if(D <= A){
        System.out.println(0);
      }else if(B <= D){
        System.out.println(B - A);
      }else{
        System.out.println(D - A);
      } D <= A D A {
        System.out.println(0);
      } System.out.println(0) System.out.println System.out System System.out 0 if(B <= D){
        System.out.println(B - A);
      }else{
        System.out.println(D - A);
      } B <= D B D {
        System.out.println(B - A);
      } System.out.println(B - A) System.out.println System.out System System.out B - A B A {
        System.out.println(D - A);
      } System.out.println(D - A) System.out.println System.out System System.out D - A D A {
      if(B <= D){
        System.out.println(B - A);
      }else{
        System.out.println(D - C);
      }
    } if(B <= D){
        System.out.println(B - A);
      }else{
        System.out.println(D - C);
      } B <= D B D {
        System.out.println(B - A);
      } System.out.println(B - A) System.out.println System.out System System.out B - A B A {
        System.out.println(D - C);
      } System.out.println(D - C) System.out.println System.out System System.out D - C D C 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(A < C){
      if(B <= C){
        System.out.println(0);
      }else if(D <= B){
        System.out.println(D - C);
      }else{
        System.out.println(B - C);
      }
    }else if(A > C){
      if(D <= A){
        System.out.println(0);
      }else if(B <= D){
        System.out.println(B - A);
      }else{
        System.out.println(D - A);
      }
    }else{
      if(B <= D){
        System.out.println(B - A);
      }else{
        System.out.println(D - C);
      }
    }

  }
} 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(A < C){
      if(B <= C){
        System.out.println(0);
      }else if(D <= B){
        System.out.println(D - C);
      }else{
        System.out.println(B - C);
      }
    }else if(A > C){
      if(D <= A){
        System.out.println(0);
      }else if(B <= D){
        System.out.println(B - A);
      }else{
        System.out.println(D - A);
      }
    }else{
      if(B <= D){
        System.out.println(B - A);
      }else{
        System.out.println(D - C);
      }
    }

  }
} 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(A < C){
      if(B <= C){
        System.out.println(0);
      }else if(D <= B){
        System.out.println(D - C);
      }else{
        System.out.println(B - C);
      }
    }else if(A > C){
      if(D <= A){
        System.out.println(0);
      }else if(B <= D){
        System.out.println(B - A);
      }else{
        System.out.println(D - A);
      }
    }else{
      if(B <= D){
        System.out.println(B - A);
      }else{
        System.out.println(D - C);
      }
    }

  }
}
