var debug = false;

function check(a,b,c,d){
  if(debug) { console.log("END"); }
  if(a <= c) {
    if(c <= b) {
        // a   c (d)  b  (d)
        return Math.min(b,d) - c;
    } else {
        // a   b   c    d
        return 0;
    }
  } else {
    // c < a
    // c (d) a (d) b (d)
    if( d <= a ) {
      // c d a b
      return 0;
    } else {
      // c a  (d) b (d)
      return Math.min(b,d) - a;
    }

  }
  return -1;
}

function Main(inp) {
  var input = inp.split("\n");
  var target = input[0].split(" ");

  console.log(check(target[0],target[1],target[2],target[3]));
}

Main(require("fs").readFileSync("/dev/stdin", "utf8"));
