require 'prime' class Integer def divisor_list require 'prime' return [] if self <= 0 return [1] if self == 1 prime_division.map.with_index { |(base, k), i| s = i.zero? ? 0 : 1 (s..k).map { |n| base ** n } }.inject { |res, e| res + res.flat_map { |t| e.map { |v| t * v } } }.sort end end N = gets.to_i if N.prime? puts 'Sosu!' elsif (1..10).find { |x| x ** 2 == N } puts 'Heihosu!' elsif (1..4).find { |x| x ** 3 == N } puts 'Ripposu!' elsif N.divisor_list.sum == N puts 'Kanzensu!' else puts N end