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();
        sc.close();

        int nbd = Math.min(b,d);
        int nac = Math.max(a,c);

        System.out.println(Math.max(nbd-nac, 0));
    }
} 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();
        sc.close();

        int nbd = Math.min(b,d);
        int nac = Math.max(a,c);

        System.out.println(Math.max(nbd-nac, 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();
        sc.close();

        int nbd = Math.min(b,d);
        int nac = Math.max(a,c);

        System.out.println(Math.max(nbd-nac, 0));
    } main {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        int d = sc.nextInt();
        sc.close();

        int nbd = Math.min(b,d);
        int nac = Math.max(a,c);

        System.out.println(Math.max(nbd-nac, 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 sc.close() sc.close sc int nbd = Math.min(b,d); nbd Math.min(b,d) Math.min Math b d int nac = Math.max(a,c); nac Math.max(a,c) Math.max Math a c System.out.println(Math.max(nbd-nac, 0)) System.out.println System.out System System.out Math.max(nbd-nac, 0) Math.max Math nbd-nac nbd nac 0 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();
        sc.close();

        int nbd = Math.min(b,d);
        int nac = Math.max(a,c);

        System.out.println(Math.max(nbd-nac, 0));
    }
} 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();
        sc.close();

        int nbd = Math.min(b,d);
        int nac = Math.max(a,c);

        System.out.println(Math.max(nbd-nac, 0));
    }
} 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();
        sc.close();

        int nbd = Math.min(b,d);
        int nac = Math.max(a,c);

        System.out.println(Math.max(nbd-nac, 0));
    }
}
