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: i64 = itr.next().unwrap().parse().unwrap(); let y: i64 = 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(|e| e.parse().unwrap()).collect(); if n == 1 { if x * x + y * y == r[0] * r[0] { println!("Yes"); } else {println!("No"); } return; } else { r.sort(); let a = r.iter().sum::(); let b = 2 * a - r[0]; if x * x + y * y <= b * b { println!("Yes"); } else { println!("No"); } } }