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 JavaScript (judge verdict: Accepted)

let input = require('fs').readFileSync('/dev/stdin', 'utf8');
input = Number(input);
const arr = [];
const isPrime = num => {
  let flag = 1;
  for(let i = 2; i <= Math.sqrt(num); i++){
    if(num % i === 0) {
      flag = 0;
      break;
    }
  }
  return flag;
};
const factorize = n => {
  if(isPrime(n)) {
    arr.push(n);
  } else {
    for(let i = 2; i <= Math.sqrt(n); i++) {
      if(isPrime(i) && n % i === 0) {
        arr.push(i);
        factorize(n / i);
        break;
      }
    }
  }
};
factorize(input);
console.log(input + ': ' + arr.join(' '));