use std::error::Error;
use std::io;

fn main() {
    if let Err(e) = run() {
        println!("{}", e);
    }
}

fn run() -> Result<(), Box<Error>> {
    io::stdin().read_line(&mut String::new())?;
    let mut a = String::new();
    io::stdin().read_line(&mut a)?;
    let a: Vec<u64> = a.trim().split(" ").map(|e| e.parse().expect("")).collect();
    let mut n4 = 0;
    let mut n2 = 0;
    let mut ne = 0;
    for e in a {
        if e % 4 == 0 {
            n4 += 1;
        } else if e % 2 == 0 {
            n2 += 1;
        } else {
            ne += 1;
        }
    }
    if n2 > 0 {
        ne += 1;
    }
    if ne == 0 {
        println("Yes");
    } else if ne == 1 {
        if n4 > 0 {
            println!("Yes");
        } else {
            println!("No");
        }
    } else {
        if ne - 1 <= n4 {
            println!("Yes");
        } else {
            println!("No");
        }
    }
    Ok(())
}
