fn run() { let mut s = String::new(); std::io::stdin().read_line(&mut s).unwrap(); let n: u32 = s.trim().parse().unwrap(); if n <= 1 { println!("{}", n); return; } let mut prime = true; let mut k = 2; while k * k <= n { if n % k == 0 { prime = false; } k += 1; } if prime { println!("Sosu!"); return; } if (k - 1) * (k - 1) == n { println!("Heihosu!"); return; } let mut k = 2; while k * k * k < n { k += 1; } if k * k * k == n { println!("Ripposu!"); return; } let mut sum = 0; let mut k = 1; while k * k < n { if n % k == 0 { sum += k + n / k; } k += 1; } if sum == 2 * n { println!("Kanzensu!"); return; } println!("{}", n); } fn main() { run(); }