main = do
    [a, b, c, d] <- map readAsInt . words <$> getLine
    putStr $ solve a b c d

readAsInt :: String -> Int
readAsInt = read

solve :: Int -> Int -> Int -> Int -> String
solve a b c d =
    let
        takahashiMonster = Monster a b
        aokiMonthster = Monster c d
        (takahashiMonsterAfterBattle,
         aokiMonthsterAfterBattle) = battle takahashiMonster aokiMonthster FirstTurn
    in if isDead aokiMonthsterAfterBattle 
        then "Yes"
        else "No" 

data Monster = Monster {hp :: Int, atk :: Int}
data Turn = FirstTurn | SecondTurn deriving Eq

battle :: Monster -> Monster -> Turn -> (Monster, Monster)
battle first second turn
    | isDead first || isDead second = (first, second)
    | turn == FirstTurn  = battle first (attack first second) SecondTurn
    | turn == SecondTurn = battle (attack second first) second FirstTurn

isDead :: Monster -> Bool
isDead (Monster hp atk)
    | hp <= 0 = True
    | otherwise = False

attack :: Monster -> Monster -> Monster
attack attacker attacked = Monster {atk = atk attacked, hp = hp attacked - atk attacker}