use std::cmp::*; use std::collections::*; use std::io::*; use std::str::FromStr; fn read() -> T { let stdin = stdin(); let stdin = stdin.lock(); let token: String = stdin .bytes() .map(|c| c.expect("failed to read char") as char) .skip_while(|c| c.is_whitespace()) .take_while(|c| !c.is_whitespace()) .collect(); token.parse().ok().expect("failed to parse token") } fn main(){ let n:usize = read(); let x:usize = read(); let y:usize = read(); let z:usize = read(); let mut a:Vec = (0..n).map(|_| read()).collect(); let mut sum:usize = 0; for i in 0..n{ a[i] = (a[i] / 1000 + 1) * 1000; sum += a[i]; } if x + y + z >= n && 1000 * x + 5000 * y + 10000 * z >= sum { println!("Yes"); }else{ println!("No"); } }