fn main() {
    let mut ab = String::new();
    std::io::Read::read_to_string(&mut std::io::stdin(), &mut ab).ok();
    let ab: Vec<usize> = ab.split_whitespace().skip(1).flat_map(str::parse).collect();

    let n = ab.len() / 2;
    let mut scores = vec![0; 101];

    for i in 0..n {
        scores[ab[n + i]] += ab[i];
    }

    if scores[0] >= *scores.iter().max().unwrap() {
        println!("YES");
    } else {
        println!("NO");
    }
}