#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")