#[allow(non_snake_case)] fn main() { use std::io::{Read, Write, BufWriter}; let mut a = Vec::new(); std::io::stdin().read_to_end(&mut a).unwrap(); let a = String::from_utf8(a).unwrap(); let mut a = a.split_whitespace(); let mut b = BufWriter::new(std::io::stdout()); macro_rules! yomu { ($t:ty) => (a.next().unwrap().parse::<$t>().unwrap()) } macro_rules! kaku { ($($arg:tt)*) => (writeln!(b, $($arg)*).unwrap()) } use std::collections::BTreeSet; let S = yomu!(String); let T: BTreeSet = S.chars().collect(); kaku!("{}", if S.len() == T.len() { "YES" } else { "NO" }) }