import annotation.tailrec
import collection.mutable.ListBuffer
import io.StdIn

object Main extends App {

  @tailrec
  def primeFactRec(acc:ListBuffer[Long], num:Long, root:Long):List[Long] = {

    if(root * root > num) (acc += num).toList
    else {
      if(num % root == 0L) primeFactRec((acc += root), num/root, root)
      else primeFactRec(acc, num, root+1L)
    }
  }

  def callPrimeFactRec(n:Long):List[Long] = {
    val ret = ListBuffer.empty[Long]
    primeFactRec(ret, n, 2L)
  }

  val n = StdIn.readLong

  val ans = callPrimeFactRec(n)
  println(n + ": " + ans.mkString(" "))
}
