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){
     	long MAX = 10*10*10*10*10*10*10*10*10;
     	
     	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        try {
            long n = Long.parseLong(br.readLine());
            
        	System.out.print(n + ":");
     		for (int i = 2; i <= MAX; i++) {
	     		if (n == 1) {
	     			break;
	     		}
	     		if (n%i == 0) {
	     			System.out.print(" " + i);
	     			n = n/i;
	     			i = 1;
	     		}
	     	}
        	
        } catch (Exception e) {
            e.printStackTrace();
        }
     }
}