import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int A = scanner.nextInt();
		int B = scanner.nextInt();
		int C = scanner.nextInt();
		int D = scanner.nextInt();
		int count = 0;

		//③④スイッチを押している時間がかぶらない時
		if (B < C || D < A) {
			count = 0;
		//①②スイッチを押している時間がどちらかに完全に含まれるとき
		} else if ((A <= C && B >= D) || (C <= A && D >= B)) {
			count = (B-A <= D-C) ? B-A : D-C;

		//⑤⑥スイッチを押している時間が一部かぶるとき
		} else {
			if (B == C || D == A) {
				count = 0;
			} else if (A < C) {
				count = Math.abs(C - B);
			} else {
				count = Math.abs(D - A);
			}
		}
		System.out.println(count);

	}

} import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int A = scanner.nextInt();
		int B = scanner.nextInt();
		int C = scanner.nextInt();
		int D = scanner.nextInt();
		int count = 0;

		//③④スイッチを押している時間がかぶらない時
		if (B < C || D < A) {
			count = 0;
		//①②スイッチを押している時間がどちらかに完全に含まれるとき
		} else if ((A <= C && B >= D) || (C <= A && D >= B)) {
			count = (B-A <= D-C) ? B-A : D-C;

		//⑤⑥スイッチを押している時間が一部かぶるとき
		} else {
			if (B == C || D == A) {
				count = 0;
			} else if (A < C) {
				count = Math.abs(C - B);
			} else {
				count = Math.abs(D - A);
			}
		}
		System.out.println(count);

	}

} Main public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int A = scanner.nextInt();
		int B = scanner.nextInt();
		int C = scanner.nextInt();
		int D = scanner.nextInt();
		int count = 0;

		//③④スイッチを押している時間がかぶらない時
		if (B < C || D < A) {
			count = 0;
		//①②スイッチを押している時間がどちらかに完全に含まれるとき
		} else if ((A <= C && B >= D) || (C <= A && D >= B)) {
			count = (B-A <= D-C) ? B-A : D-C;

		//⑤⑥スイッチを押している時間が一部かぶるとき
		} else {
			if (B == C || D == A) {
				count = 0;
			} else if (A < C) {
				count = Math.abs(C - B);
			} else {
				count = Math.abs(D - A);
			}
		}
		System.out.println(count);

	} main {
		Scanner scanner = new Scanner(System.in);
		int A = scanner.nextInt();
		int B = scanner.nextInt();
		int C = scanner.nextInt();
		int D = scanner.nextInt();
		int count = 0;

		//③④スイッチを押している時間がかぶらない時
		if (B < C || D < A) {
			count = 0;
		//①②スイッチを押している時間がどちらかに完全に含まれるとき
		} else if ((A <= C && B >= D) || (C <= A && D >= B)) {
			count = (B-A <= D-C) ? B-A : D-C;

		//⑤⑥スイッチを押している時間が一部かぶるとき
		} else {
			if (B == C || D == A) {
				count = 0;
			} else if (A < C) {
				count = Math.abs(C - B);
			} else {
				count = Math.abs(D - A);
			}
		}
		System.out.println(count);

	} Scanner scanner = new Scanner(System.in); scanner new Scanner(System.in) int A = scanner.nextInt(); A scanner.nextInt() scanner.nextInt scanner int B = scanner.nextInt(); B scanner.nextInt() scanner.nextInt scanner int C = scanner.nextInt(); C scanner.nextInt() scanner.nextInt scanner int D = scanner.nextInt(); D scanner.nextInt() scanner.nextInt scanner int count = 0; count 0 if (B < C || D < A) {
			count = 0;
		//①②スイッチを押している時間がどちらかに完全に含まれるとき
		} else if ((A <= C && B >= D) || (C <= A && D >= B)) {
			count = (B-A <= D-C) ? B-A : D-C;

		//⑤⑥スイッチを押している時間が一部かぶるとき
		} else {
			if (B == C || D == A) {
				count = 0;
			} else if (A < C) {
				count = Math.abs(C - B);
			} else {
				count = Math.abs(D - A);
			}
		} B < C || D < A B < C B C D < A D A {
			count = 0;
		//①②スイッチを押している時間がどちらかに完全に含まれるとき
		} count = 0 count 0 if ((A <= C && B >= D) || (C <= A && D >= B)) {
			count = (B-A <= D-C) ? B-A : D-C;

		//⑤⑥スイッチを押している時間が一部かぶるとき
		} else {
			if (B == C || D == A) {
				count = 0;
			} else if (A < C) {
				count = Math.abs(C - B);
			} else {
				count = Math.abs(D - A);
			}
		} (A <= C && B >= D) || (C <= A && D >= B) (A <= C && B >= D) A <= C A C B >= D B D (C <= A && D >= B) C <= A C A D >= B D B {
			count = (B-A <= D-C) ? B-A : D-C;

		//⑤⑥スイッチを押している時間が一部かぶるとき
		} count = (B-A <= D-C) ? B-A : D-C count (B-A <= D-C) ? B-A : D-C (B-A <= D-C) B-A B A D-C D C B-A B A D-C D C {
			if (B == C || D == A) {
				count = 0;
			} else if (A < C) {
				count = Math.abs(C - B);
			} else {
				count = Math.abs(D - A);
			}
		} if (B == C || D == A) {
				count = 0;
			} else if (A < C) {
				count = Math.abs(C - B);
			} else {
				count = Math.abs(D - A);
			} B == C || D == A B == C B C D == A D A {
				count = 0;
			} count = 0 count 0 if (A < C) {
				count = Math.abs(C - B);
			} else {
				count = Math.abs(D - A);
			} A < C A C {
				count = Math.abs(C - B);
			} count = Math.abs(C - B) count Math.abs(C - B) Math.abs Math C - B C B {
				count = Math.abs(D - A);
			} count = Math.abs(D - A) count Math.abs(D - A) Math.abs Math D - A D A System.out.println(count) System.out.println System.out System System.out count String[] args args public class Main {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int A = scanner.nextInt();
		int B = scanner.nextInt();
		int C = scanner.nextInt();
		int D = scanner.nextInt();
		int count = 0;

		//③④スイッチを押している時間がかぶらない時
		if (B < C || D < A) {
			count = 0;
		//①②スイッチを押している時間がどちらかに完全に含まれるとき
		} else if ((A <= C && B >= D) || (C <= A && D >= B)) {
			count = (B-A <= D-C) ? B-A : D-C;

		//⑤⑥スイッチを押している時間が一部かぶるとき
		} else {
			if (B == C || D == A) {
				count = 0;
			} else if (A < C) {
				count = Math.abs(C - B);
			} else {
				count = Math.abs(D - A);
			}
		}
		System.out.println(count);

	}

} public class Main {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int A = scanner.nextInt();
		int B = scanner.nextInt();
		int C = scanner.nextInt();
		int D = scanner.nextInt();
		int count = 0;

		//③④スイッチを押している時間がかぶらない時
		if (B < C || D < A) {
			count = 0;
		//①②スイッチを押している時間がどちらかに完全に含まれるとき
		} else if ((A <= C && B >= D) || (C <= A && D >= B)) {
			count = (B-A <= D-C) ? B-A : D-C;

		//⑤⑥スイッチを押している時間が一部かぶるとき
		} else {
			if (B == C || D == A) {
				count = 0;
			} else if (A < C) {
				count = Math.abs(C - B);
			} else {
				count = Math.abs(D - A);
			}
		}
		System.out.println(count);

	}

} Main
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int A = scanner.nextInt();
		int B = scanner.nextInt();
		int C = scanner.nextInt();
		int D = scanner.nextInt();
		int count = 0;

		//③④スイッチを押している時間がかぶらない時
		if (B < C || D < A) {
			count = 0;
		//①②スイッチを押している時間がどちらかに完全に含まれるとき
		} else if ((A <= C && B >= D) || (C <= A && D >= B)) {
			count = (B-A <= D-C) ? B-A : D-C;

		//⑤⑥スイッチを押している時間が一部かぶるとき
		} else {
			if (B == C || D == A) {
				count = 0;
			} else if (A < C) {
				count = Math.abs(C - B);
			} else {
				count = Math.abs(D - A);
			}
		}
		System.out.println(count);

	}

}