#include<bits/stdc++.h>
using namespace std;
const int N=1e5 +3;
int a[N];
map<int, int> mp;
int main(){
int a, b, c, d, ans=0;
scanf("%d%d%d%d", &a, &b, &c, &d);
if(a<=c){
if(b<=c){
ans=0;
}
else if(b>c&&b<=d){
ans=b-c;
}
else if(b>c&&b>d){
ans=d-c;
}
}
else{
if(d<=a){
ans=0;
}
else if(d>a&&d<=b){
ans=d-a;
}
else if(d>a&&d>b){
ans=b-a;
}
}
printf("%d", ans);
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGludCBOPTFlNSArMzsKaW50IGFbTl07Cm1hcDxpbnQsIGludD4gbXA7CgppbnQgbWFpbigpewoKICAgIGludCBhLCBiLCBjLCBkLCBhbnM9MDsKICAgIHNjYW5mKCIlZCVkJWQlZCIsICZhLCAmYiwgJmMsICZkKTsKICAgIGlmKGE8PWMpewogICAgICAgIGlmKGI8PWMpewogICAgICAgICAgICBhbnM9MDsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZihiPmMmJmI8PWQpewogICAgICAgICAgICBhbnM9Yi1jOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmKGI+YyYmYj5kKXsKICAgICAgICAgICAgYW5zPWQtYzsKICAgICAgICB9CiAgICB9CiAgICBlbHNlewogICAgICAgIGlmKGQ8PWEpewogICAgICAgICAgICBhbnM9MDsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZihkPmEmJmQ8PWIpewogICAgICAgICAgICBhbnM9ZC1hOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmKGQ+YSYmZD5iKXsKICAgICAgICAgICAgYW5zPWItYTsKICAgICAgICB9CiAgICB9CgogICAgcHJpbnRmKCIlZCIsIGFucyk7CgoKICAgIHJldHVybiAwOwp9Cg==