fn main() { let n = { let mut line = String::new(); std::io::stdin().read_line(&mut line).unwrap(); line.trim().parse::().unwrap() }; let ans = n - find_divisors(n).len(); println!("{}", ans); } /// Creates a sequence consisting of the divisors of `n`. pub fn find_divisors(n: usize) -> Vec { assert_ne!(n, 0, "`n` must be at least 1."); let mut divisors = vec![]; for i in (1..).take_while(|i| i * i <= n) { if n % i == 0 { divisors.push(i); if n / i != i { divisors.push(n / i); } } } divisors.sort_unstable(); divisors }