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 Ruby (judge verdict: Accepted)

# n = gets.to_i
# out = "#{n.to_s}:"
#
# while n % 2 == 0
#   out += " 2"
#   n /= 2
# end
#
# i = 3
# while n != 1 and i * i <= n
#   while n % i == 0
#     out += " #{i.to_s}"
#     n /= i
#   end
#   i += 2
# end
#
# if n != 1
#   out += " #{n}"
# end
#
# puts out

require 'prime'
n = gets.to_i

puts "#{n}:" + Prime.prime_division(n).map{|a,b| " #{a}"*b}.join("")