fn main() {
    let s1: String = read();
    let s2: String = read();
    
    let mut s1: Vec<char> = s1.chars().collect();
    let mut s2: Vec<char> = s2.chars().collect();
    
    s1.sort_by(|a, b| b.cmp(a));
    s2.sort_by(|a, b| b.cmp(a));
    
    if s1 == s2 {
        println!("YES");
    }
    else {
        println!("NO");
    }
    
}

fn read<T: std::str::FromStr>() -> T {
    let mut s = String::new();
    std::io::stdin().read_line(&mut s).ok();
    s.trim().parse().ok().unwrap()
}