def factorize(num):
for possible_factor in range(2, num):
if num % possible_factor == 0:
return [possible_factor] + factorize(num // possible_factor)
return [num]
nums = [9, 99, 88, 888]
for num in nums:
print("{}: {}".format(num, factorize(num)))
ZGVmIGZhY3Rvcml6ZShudW0pOgogICAgZm9yIHBvc3NpYmxlX2ZhY3RvciBpbiByYW5nZSgyLCBudW0pOgogICAgICAgIGlmIG51bSAlIHBvc3NpYmxlX2ZhY3RvciA9PSAwOgogICAgICAgICAgICByZXR1cm4gW3Bvc3NpYmxlX2ZhY3Rvcl0gKyBmYWN0b3JpemUobnVtIC8vIHBvc3NpYmxlX2ZhY3RvcikKICAgIHJldHVybiBbbnVtXQoKbnVtcyA9IFs5LCA5OSwgODgsIDg4OF0KZm9yIG51bSBpbiBudW1zOgogICAgcHJpbnQoInt9OiB7fSIuZm9ybWF0KG51bSwgZmFjdG9yaXplKG51bSkpKQ==
9: [3, 3]
99: [3, 3, 11]
88: [2, 2, 2, 11]
888: [2, 2, 2, 3, 37]