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 JAVA (judge verdict: WA: Presentation Error)

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String line = br.readLine();
        int t = Integer.parseInt(line);
        
         System.out.print(t+":");
        
    while (t % 2 == 0) {
      System.out.print(" ");
      System.out.print(2);
      t /= 2;
    }
    for (int i = 3; i * i <= t; i += 2) {
      while (t % i == 0) {
        System.out.print(" " + i);
        t /= i;
      }
    }
    if (t > 1) System.out.println(" " +t);
    }
}