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.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int inputNum = Integer.parseInt(br.readLine());

		System.out.print(inputNum + " :");
		List<Integer> list = new ArrayList<>();

		for (int i = 2; i * i <= inputNum; i++) {
			while (inputNum % i == 0) {
				inputNum = inputNum / i;
				list.add(i);
			}
		}
		if (inputNum > 1) {
			list.add(inputNum);
		}
		Collections.sort(list);

		for (int prime : list) {
			System.out.print(" " + prime);
		}
		System.out.println();
		br.close();
	}
}