fn main() { let mut s = String::new(); std::io::stdin().read_line(&mut s).ok(); let mut itr = s.trim().split_whitespace(); let n: usize = itr.next().unwrap().parse().unwrap(); let x: isize = itr.next().unwrap().parse().unwrap(); let y: isize = itr.next().unwrap().parse().unwrap(); let mut s = String::new(); std::io::stdin().read_line(&mut s).ok(); let mut r: Vec = s.trim().split_whitespace().map(|x| x.parse().unwrap()).collect(); r.sort(); if n == 0 { if x * x + y * y == r[0] * r[0] { println!("Yes"); } else {println!("No"); } return; } else { let mut a: isize = 0; for i in 1..r.len() { a += r[i]; } if 4 * (a - r[0]) * (a - r[0]) >= x * x + y * y { println!("Yes"); } else { println!("No"); } } }