/*************************************************************************
 *  Compilation:  javac Factors3.java
 *  Execution:    java Factors3 N
 *  
 *  Computes the prime factorization of N using brute force.
 *
 *   % java Factors 81
 *   The prime factorization of 81 is: 3 3 3 3 
 *
 *   % java Factors 168
 *   The prime factorization of 168 is: 2 2 2 3 7
 *
 *   % java Factors 4444444444
 *   The prime factorization of 4444444444 is: 2 2 11 41 271 9091 
 *
 *   % java Factors 4444444444444463
 *   The prime factorization of 4444444444444463 is: 4444444444444463
 *
 *
 *   Can use these for timing tests - biggest 3, 6, 9, 12, 15, and 18 digit primes
 *   % java Factors 997
 *   % java Factors 999983
 *   % java Factors 999999937
 *   % java Factors 999999999989
 *   % java Factors 999999999999989
 *   % java Factors 999999999999999989
 * 
 *************************************************************************/

public class Factors3 {

   public static void main(String[] args) { 
      long N = Long.parseLong(args[0]);
      System.out.print("The prime factorization of " + N + " is: ");

      for (long i = 2; i <= N; i++) {
         while (N % i == 0) {
            System.out.print(i + " "); 
            N = N / i;
         }
      }
   }
}

