private fun readLn() = readLine()!!
private fun readStrings() = readLn().split(" ")
private fun readInt() = readLn().toInt()
private fun readInts() = readStrings().map { it.toInt() }
private fun readLong() = readLn().toLong()
private fun readLongs() = readStrings().map { it.toLong() }
private fun readDouble() = readLn().toDouble()
private fun readDoubles() = readStrings().map { it.toDouble() }

fun main(args: Array<String>) {
    var (a, b, c) = readInts()
    val k = readInt()
    var flag = true
    var itr = 0
    while (flag) {
        if (b <= a) {
            b = b * 2
            itr++
        } else
            break
    }
    while (flag) {
        if (c <= b) {
            c = c * 2
            itr++
        } else
            break
    }
    if (itr > k)
        println("No")
    else
        println("Yes")
}