#类似短除法的思想:
#短除法:从最小的质数除起,一直除到结果为质数为止。

#本解法:
#定义输入为a,遍历变量为i
#1、从最小的质数除起,能除则除,不能除就递增,找到之后相除,更新a,存储i
#2、重复1,直到不满足i*i<a
#3、检查一下最后剩下这个a是否为质数


a=int(input())
b=[]
i=2
while(i*i<=a):#这里用这种方式降低时间复杂度,不然最后一个样例过不了
    if a%i==0:#发现因数,这个因数必然是质数,因为如果i是合数,则在扫描到i之前就会扫描到他的质因数
        b.append(i)
        a=a//i#更新a
        i=2#重置i
        continue
    else:
        i+=1
if a>1:#最后剩下的a,要么是1,要么是一个质数
    b.append(a)
for i in b:
    print(i,end=" ")

思路较为简单,代码注释就写得下,这里不赘述。