import Control.Applicative
import Control.Monad
import Data.List
import Data.Array
import Data.Char

main = do
  [a, b, c, d] <- map (read::String -> Int) . words <$> getLine
  putStrLn $ if abs (a - c) <= d
    then "Yes"
    else if abs (a - b) <= d && abs (b - c) <= d
      then "Yes"
      else "No"
  