#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;cin>>n;
    int num=n;//保存n
    for(int i=2;i*i<=n;i++){//最后得到的质因子不会出现i*i>n的情况
        if(n%i==0)printf("%d ",i),n/=i,i--;
     //因为是分解质因子,会有多个重复质因子的情况,比如4->2 2,所以对于一个数需要重复÷,直到除不尽
    }
    if(n!=1&&n!=num)cout<<n<<" ";//处理最后余下的n非1且非原来的数的情况
 if(n==num)cout<<num;//处理n为质数的情况
return 0;
}