#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
bool is_prime(const unsigned long int &number) {
for (unsigned long int i = 2; i <= sqrt(number); i++) {
if (number%i == 0) return false;
}
return true;
}
unsigned long int next_prime(unsigned long int current) {
current++;
while (!is_prime(current)) {
current++;
}
return current;
}
// THE PROBLEM SOLVER
vector<unsigned long int> find_divisors(const unsigned long int &n) {
vector<unsigned long int> divisors;
for (unsigned long int i = 2; i <= n; i = next_prime(i)) {
if (n%i == 0) divisors.push_back(i);
}
return divisors;
}
int main() {
unsigned long int n;
vector<unsigned long int> divisors;
cin>>n;
divisors = find_divisors(n);
for(auto &n : divisors) cout<<n<<" ";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8Y21hdGg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpib29sIGlzX3ByaW1lKGNvbnN0IHVuc2lnbmVkIGxvbmcgaW50ICZudW1iZXIpIHsKICAgIGZvciAodW5zaWduZWQgbG9uZyBpbnQgaSA9IDI7IGkgPD0gc3FydChudW1iZXIpOyBpKyspIHsKICAgICAgICBpZiAobnVtYmVyJWkgPT0gMCkgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmV0dXJuIHRydWU7Cn0KdW5zaWduZWQgbG9uZyBpbnQgbmV4dF9wcmltZSh1bnNpZ25lZCBsb25nIGludCBjdXJyZW50KSB7CiAgICBjdXJyZW50Kys7CiAgICB3aGlsZSAoIWlzX3ByaW1lKGN1cnJlbnQpKSB7CiAgICAgICAgY3VycmVudCsrOwogICAgfQogICAgcmV0dXJuIGN1cnJlbnQ7Cn0KCi8vIFRIRSBQUk9CTEVNIFNPTFZFUgp2ZWN0b3I8dW5zaWduZWQgbG9uZyBpbnQ+IGZpbmRfZGl2aXNvcnMoY29uc3QgdW5zaWduZWQgbG9uZyBpbnQgJm4pIHsKICAgIHZlY3Rvcjx1bnNpZ25lZCBsb25nIGludD4gZGl2aXNvcnM7CiAgICBmb3IgKHVuc2lnbmVkIGxvbmcgaW50IGkgPSAyOyBpIDw9IG47IGkgPSBuZXh0X3ByaW1lKGkpKSB7CiAgICAgICAgaWYgKG4laSA9PSAwKSBkaXZpc29ycy5wdXNoX2JhY2soaSk7CiAgICB9CiAgICByZXR1cm4gZGl2aXNvcnM7Cn0KCmludCBtYWluKCkgewoJdW5zaWduZWQgbG9uZyBpbnQgbjsKCXZlY3Rvcjx1bnNpZ25lZCBsb25nIGludD4gZGl2aXNvcnM7CgljaW4+Pm47CgkKCWRpdmlzb3JzID0gZmluZF9kaXZpc29ycyhuKTsKCQoJZm9yKGF1dG8gJm4gOiBkaXZpc29ycykgY291dDw8bjw8IiAiOwoJCglyZXR1cm4gMDsKfQ==