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: Time Limit Exceeded)

def factorial(n)
  i = 2
  while i <= n
    if n % i == 0
      return [i, n / i]
    end
    i = i + 1
  end
end

n = gets.to_i
print "#{n}: "
while n > 1
  f, n = factorial(n)
  if n == 1
    print "#{f}\n"
    break
  else
    print "#{f} "
  end
end