fun main(arg: Array<String>) {
    val N = nextInt()
    val A = listOfInt()
    var b0 = 0
    var b1 = 0
    var b2 = 0
    A.forEach { when(Integer.numberOfLeadingZeros(it)) {
        0 -> b0 += 1
        1 -> b1 += 1
        else -> b2 += 1
    } }
    val ans = if (b1 == 0) b0 <= b2 + 1 else b0 <= b2
    println(if (ans) "Yes" else "No")
}
fun next() = readLine()!!
fun nextInt() = next().toInt()
fun nextLong() = next().toLong()
fun listOfString() = next().split(" ")
fun listOfInt() = listOfString().map(String::toInt)
fun listOfInt(vararg deltas: Int) = listOfString().map { Integer.parseInt(it) }.mapIndexed { index, int -> int + deltas[index % deltas.size] }

