import Control.Monad
import Data.Maybe
import qualified Data.ByteString.Char8 as BS
import Data.List

readInt = fst . fromJust . BS.readInt
readIntList = map readInt . BS.words
getInt = readInt <$> BS.getLine
getIntList = readIntList <$> BS.getLine

main = do
    [a,b,c] <- getIntList
    k <- getInt
    let bk = f a b
        b' = (2 ^ bk) * b
        ck = f b' c
        k' = bk + ck
    putStrLn $ if k' <= k then "Yes" else "No"

f a b | a < b = 0
      | otherwise = 1 + (f a (2*b))