#include <iostream>
using namespace std;
void print_prime_factors(long long int n)
{
long long int i = 2;
// print out the initial value of n
cout << "n = " << n << endl;
// keep dividing n by factors from smallest ones,
// until n becomes 1
while (n>1)
{
// is n divisible by i?
if (n%i == 0)
{
// if n divisible by i, divide it by i and print out i because
// it is a new prime factor (we must divide to not repeat
// the same factors but factor only what remains)
n = n/i;
cout << i << " new value of n = " << n << endl;
}
else
i++; // otherwise, we need to try divide by something bigger
}
}
int main()
{
long long int n;
// read (long) integer n from input
cin >> n;
// compute and print out all prime factors
print_prime_factors(n);
// return 0 from main
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZvaWQgcHJpbnRfcHJpbWVfZmFjdG9ycyhsb25nIGxvbmcgaW50IG4pCnsKICBsb25nIGxvbmcgaW50IGkgPSAyOwoKICAvLyBwcmludCBvdXQgdGhlIGluaXRpYWwgdmFsdWUgb2YgbgogIAogIGNvdXQgPDwgIm4gPSAiIDw8IG4gPDwgZW5kbDsKCiAgLy8ga2VlcCBkaXZpZGluZyBuIGJ5IGZhY3RvcnMgZnJvbSBzbWFsbGVzdCBvbmVzLAogIC8vIHVudGlsIG4gYmVjb21lcyAxCgogIHdoaWxlIChuPjEpCiAgewogICAgLy8gaXMgbiBkaXZpc2libGUgYnkgaT8KCiAgICBpZiAobiVpID09IDApCiAgICB7CiAgICAgIC8vIGlmIG4gZGl2aXNpYmxlIGJ5IGksIGRpdmlkZSBpdCBieSBpIGFuZCBwcmludCBvdXQgaSBiZWNhdXNlCiAgICAgIC8vIGl0IGlzIGEgbmV3IHByaW1lIGZhY3RvciAod2UgbXVzdCBkaXZpZGUgdG8gbm90IHJlcGVhdAogICAgICAvLyB0aGUgc2FtZSBmYWN0b3JzIGJ1dCBmYWN0b3Igb25seSB3aGF0IHJlbWFpbnMpCgogICAgICBuID0gbi9pOwoKICAgICAgY291dCA8PCBpIDw8ICIgICAgbmV3IHZhbHVlIG9mIG4gPSAiIDw8IG4gPDwgZW5kbDsKICAgIH0KICAgIGVsc2UKICAgICAgaSsrOyAgLy8gb3RoZXJ3aXNlLCB3ZSBuZWVkIHRvIHRyeSBkaXZpZGUgYnkgc29tZXRoaW5nIGJpZ2dlcgogIH0KfQoKaW50IG1haW4oKQp7CiAgbG9uZyBsb25nIGludCBuOwoKICAvLyByZWFkIChsb25nKSBpbnRlZ2VyIG4gZnJvbSBpbnB1dAoKICBjaW4gPj4gbjsKCiAgLy8gY29tcHV0ZSBhbmQgcHJpbnQgb3V0IGFsbCBwcmltZSBmYWN0b3JzCgogIHByaW50X3ByaW1lX2ZhY3RvcnMobik7CgogIC8vIHJldHVybiAwIGZyb20gbWFpbgoKICByZXR1cm4gMDsKfQ==