import java.util.Scanner;

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();
        int result = Math.min(B,D) - Math.max(A,C);
        if(result < 0)result = 0;
        System.out.println(result);
    }
} import java.util.Scanner; Scanner 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();
        int result = Math.min(B,D) - Math.max(A,C);
        if(result < 0)result = 0;
        System.out.println(result);
    }
} 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();
        int result = Math.min(B,D) - Math.max(A,C);
        if(result < 0)result = 0;
        System.out.println(result);
    } main {
        Scanner sc = new Scanner(System.in);
        int A = sc.nextInt();
        int B = sc.nextInt();
        int C = sc.nextInt();
        int D = sc.nextInt();
        int result = Math.min(B,D) - Math.max(A,C);
        if(result < 0)result = 0;
        System.out.println(result);
    } 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 int result = Math.min(B,D) - Math.max(A,C); result 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(result < 0)result = 0; result < 0 result 0 result = 0 result 0 System.out.println(result) System.out.println System.out System System.out result 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();
        int result = Math.min(B,D) - Math.max(A,C);
        if(result < 0)result = 0;
        System.out.println(result);
    }
} 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();
        int result = Math.min(B,D) - Math.max(A,C);
        if(result < 0)result = 0;
        System.out.println(result);
    }
} Main
import java.util.Scanner;

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();
        int result = Math.min(B,D) - Math.max(A,C);
        if(result < 0)result = 0;
        System.out.println(result);
    }
}