use std::collections::HashMap; fn main() { let mut s = String::new(); std::io::stdin().read_line(&mut s).ok(); let s = s.trim(); let mut counts = HashMap::new(); for c in s.chars() { *counts.entry(c).or_insert(0) += 1; } let mut n: usize = (1..=s.len()).product(); for &i in counts.values() { n /= (1..=i).product::(); } n -= 1; println!("{}", n); }