(let [a (read) b (read) c (read) d (read)
      ca (Math/abs (- a c))
      ab (Math/abs (- a b))
      bc (Math/abs (- b c))]
  (println (if (or (<= ca d)
                   (and (<= bc d) (<= ab d)))
             "Yes" "No"))
  	)