def get_prime_factors(n): """ Returns the counts of each prime factor of n """ if n < 1: raise ValueError if n == 1: return Counter() divisor = 2 while n % divisor != 0: divisor = Prime.after(divisor) return Counter({divisor: 1}) + get_prime_factors(n // divisor)