primes = 2 : filter isPrime [3,5..]
  where
    isPrime n = all ((>0) . (rem n)) $ takeWhile (\x -> x ^ 2 <= n) primes

primefct n = unwords $ map show (fct n primes)
  where
    fct n xs'@(x:xs)
      | x ^ 2 > n    = [n]
      | rem n x == 0 = x : fct (div n x) xs'
      | otherwise    = fct n xs

main = do
  s <- readLn
  putStrLn $ show s ++ ": " ++ primefct s