package main

import (
	"fmt"
)

func main() {
	var n int
	// 1. 既然是读一个简单的数字,用你最熟悉的“填空模式”
	fmt.Scan(&n)

	// 2. 核心:从 2 开始剥洋葱,直到 sqrt(n)
	for i := 2; i*i <= n; i++ {
		// 只要能整除,就一直输出
		for n%i == 0 {
			fmt.Printf("%d ", i)
			n /= i
		}
	}

	// 3. 这里的逻辑你还记得吗?如果 n 剩下大于 1 意味着什么?
	if n > 1 {
		fmt.Printf("%d", n)
	}
}