toYN :: Bool -> String
toYN False = "No"
toYN True = "Yes"

x -: f = f x

getInts = ((fmap ((fmap read) . words)) getLine) :: IO [Int]
getInt = (fmap read) getLine :: IO Int
main = do
  [a,b,c] <- getInts
  k <- getInt
  putStrLn $ (magics k [(a,b,c)]) -: (filter (\(a,b,c)-> b > a && c > b)) -: null -: not -: toYN

magic :: (Int,Int,Int) -> [(Int,Int,Int)]
magic (a,b,c) = [(2*a,b,c),(a,2*b,c),(a,b,2*c)]

magics :: Int -> [(Int,Int,Int)]->[(Int,Int,Int)]
magics k l = (iterate (\l-> l>>=magic) l)!!k
