const input = require('fs').readFileSync('/dev/stdin', 'utf8');

const list = input.split(' ');

const a = Number(list[0]);

const b = Number(list[1]);

const c = Number(list[2]);

const d = Number(list[3]);

const abs = (x) => {
  return x > 0 ? x : -x;
};

var direct = (i, j) => {
  if (abs(i-j) <= d) {
    return true;
  } else {
    return false;
  }
};

var indirect = (i, j, k) => {
  if (direct(i, j) && direct(j, k)) {
    return true;
  } else {
    return false;
  }
};

if (direct(a,c) || indirect(a, b, c)) {
  console.log('Yes');
} else {
  console.log('No');
}
