Problem:
Prime Factorization

Factorize a given integer n.

Input

n

An integer n is given in a line.

Output

Print the given integer n and :. Then, print prime factors in ascending order. If n is divisible by a prime factor several times, the prime factor should be printed according to the number of times. Print a space before each prime factor.

Constraints

2 ≤ n ≤ 109

Sample Input 1

12

Sample Output 1

12: 2 2 3

Sample Input 2

126

Sample Output 2

126: 2 3 3 7

Solution in Python3 (judge verdict: Accepted)

ii = lambda : int(input())
mi = lambda : map(int,input().split())
li = lambda : list(map(int,input().split()))

import math

n = ii()


def calc(x):
    nq = int(math.sqrt(x)+1)
    for i in range(2,nq +1):
        if x % i == 0:
            return x//i, i
    return -1,x

x = n
ans = []
while 1:
    x,m = calc(x)
    ans.append(m)
    if x <= 1:
        break
    

print(str(n)+': ',end='')
print(*ans)