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 C# (judge verdict: Time Limit Exceeded)

using System;
namespace NTL_1_A
{
    class Program
    {
        static void Main(string[] args)
        {
            int s = int.Parse(Console.ReadLine());
            Console.Write(s + ": ");
            int a = 2;

            while (!(s == 1))
            {
                if (s % a == 0)
                {
                    if (s / a > 1)
                    {
                        Console.Write(a);
                    }
                    else { Console.WriteLine(a); }
                    if (s / a == 1) { break; }
                    else {Console.Write(" "); }
                    s = s / a;
                    a++;
                }

            }
        }
    }
}