#include <iostream>
using namespace std;
#include<cmath>
#include<vector>
#include<algorithm>
#define ll long long
bool Iszhishu(int a){
if(a<=1){
return 0;
}
else{
for(int i=2;i<=sqrt(a);i++){
if(a%i==0){
return 0;
}
}
}
return 1;
}
int main() {
ll n;
cin>>n;
vector<ll>v_zhiyinshu;
while(n!=1){
for(int i=1;i<=n;i++){//找到所有因数
if(n%i==0&&Iszhishu(i)){//是因数而且是质数 就加入队列
v_zhiyinshu.push_back(i);
n=n/i;//n记得变化
break;
}
}
}
for_each(v_zhiyinshu.begin(),v_zhiyinshu.end(),[=](int a){
cout<<a<<" ";
});
}
// 64 位输出请用 printf("%lld")