#include <iostream>
#include <vector>
using namespace std;

vector<unsigned long long> prime_decompose(unsigned long long n){
    vector<unsigned long long> ans;
    for(unsigned long long i=2; i*i<=n; ++i){
        while(n%i == 0){
            ans.push_back(i);
            n /=i;
        }
    }
    if(n>1){
        ans.push_back(n);
    }
    return ans;
}

int main() {
    unsigned long long n;
    cin >> n;
    vector<unsigned long long> ans=prime_decompose(n);
    for(auto x:ans){
        cout << x << " ";
    }

}
// 64 位输出请用 printf("%lld")