def prime_factorize(self, n):
    res = dict()
    if (n < 2):
        return res
    border = int((n ** 0.5))
    for p in self.prime_numbers:
        if (p > border):
            break
        while ((n % p) == 0):
            res[p] = (res.get(p, 0) + 1)
            n //= p
        if (n == 1):
            return res
    res[n] = 1
    return res
def prime_factorize(self, n):
    res = dict()
    if (n < 2):
        return res
    border = int((n ** 0.5))
    for p in self.prime_numbers:
        if (p > border):
            break
        while ((n % p) == 0):
            res[p] = (res.get(p, 0) + 1)
            n //= p
        if (n == 1):
            return res
    res[n] = 1
    return res