#[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<char> = S.chars().collect();
  kaku!("{}", if S.len() == T.len() { "YES" } else { "NO" })
}