#include <iostream>
#include <iomanip>
#include <cmath>
#include <climits>
#include <algorithm>
#include <numeric>
using namespace std;
const int MOD = (int)(1e9 + 7);
void printOne(long long n) {
for (long long i = 2;i * i <= n;i++) {
// Xác định i là một ước nguyên tố của n
if (n % i == 0) {
cout << i << " ";
// Tìm số mũ của i trong n
int count = 0;
while (n % i == 0) {
count++;
n = n / i;
}
}
}
// Ước nguyên tố cuối cùng trong phân tích
if (n != 1) {
cout << n;
}
}
void printTwo(long long n) {
for (long long i = 2;i * i <= n;i++) {
// Xác định i là một ước nguyên tố của n
if (n % i == 0) {
// Tìm số mũ của i trong n
int count = 0;
while (n % i == 0) {
count++;
n = n / i;
}
cout << "(" << i << ", " << count << ") ";
}
}
// Ước nguyên tố cuối cùng trong phân tích
if (n != 1) {
cout << "(" << n << ", " << 1 << ") ";
}
}
void printThree(long long n) {
for (long long i = 2;i * i <= n;i++) {
// Xác định i là một ước nguyên tố của n
if (n % i == 0) {
// Tìm số mũ của i trong n
int count = 0;
while (n % i == 0) {
cout << i;
if (n != 1) {
cout << " x ";
}
count++;
n = n / i;
}
}
}
// Ước nguyên tố cuối cùng trong phân tích
if (n != 1) {
cout << n;
}
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
long long n;cin >> n;
printOne(n);
cout << endl;
printTwo(n);
cout << endl;
printThree(n);
cout << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KI2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8Y2xpbWl0cz4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPG51bWVyaWM+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IE1PRCA9IChpbnQpKDFlOSArIDcpOwoKdm9pZCBwcmludE9uZShsb25nIGxvbmcgbikgewoKICAgIGZvciAobG9uZyBsb25nIGkgPSAyO2kgKiBpIDw9IG47aSsrKSB7CgogICAgICAgIC8vIFjDoWMgxJHhu4tuaCBpIGzDoCBt4buZdCDGsOG7m2Mgbmd1ecOqbiB04buRIGPhu6dhIG4KICAgICAgICBpZiAobiAlIGkgPT0gMCkgewogICAgICAgICAgICBjb3V0IDw8IGkgPDwgIiAiOwogICAgICAgICAgICAvLyBUw6xtIHPhu5EgbcWpIGPhu6dhIGkgdHJvbmcgbgogICAgICAgICAgICBpbnQgY291bnQgPSAwOwogICAgICAgICAgICB3aGlsZSAobiAlIGkgPT0gMCkgewogICAgICAgICAgICAgICAgY291bnQrKzsKICAgICAgICAgICAgICAgIG4gPSBuIC8gaTsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICB9CiAgICB9CgogICAgLy8gxq/hu5tjIG5ndXnDqm4gdOG7kSBjdeG7kWkgY8O5bmcgdHJvbmcgcGjDom4gdMOtY2gKICAgIGlmIChuICE9IDEpIHsKICAgICAgICBjb3V0IDw8IG47CiAgICB9Cn0KCnZvaWQgcHJpbnRUd28obG9uZyBsb25nIG4pIHsKCiAgICBmb3IgKGxvbmcgbG9uZyBpID0gMjtpICogaSA8PSBuO2krKykgewoKICAgICAgICAvLyBYw6FjIMSR4buLbmggaSBsw6AgbeG7mXQgxrDhu5tjIG5ndXnDqm4gdOG7kSBj4bunYSBuCiAgICAgICAgaWYgKG4gJSBpID09IDApIHsKCiAgICAgICAgICAgIC8vIFTDrG0gc+G7kSBtxakgY+G7p2EgaSB0cm9uZyBuCiAgICAgICAgICAgIGludCBjb3VudCA9IDA7CiAgICAgICAgICAgIHdoaWxlIChuICUgaSA9PSAwKSB7CiAgICAgICAgICAgICAgICBjb3VudCsrOwogICAgICAgICAgICAgICAgbiA9IG4gLyBpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBjb3V0IDw8ICIoIiA8PCBpIDw8ICIsICIgPDwgY291bnQgPDwgIikgIjsKCiAgICAgICAgfQogICAgfQoKICAgIC8vIMav4bubYyBuZ3V5w6puIHThu5EgY3Xhu5FpIGPDuW5nIHRyb25nIHBow6JuIHTDrWNoCiAgICBpZiAobiAhPSAxKSB7CiAgICAgICAgY291dCA8PCAiKCIgPDwgbiA8PCAiLCAiIDw8IDEgPDwgIikgIjsKICAgIH0KfQoKdm9pZCBwcmludFRocmVlKGxvbmcgbG9uZyBuKSB7CgogICAgZm9yIChsb25nIGxvbmcgaSA9IDI7aSAqIGkgPD0gbjtpKyspIHsKCiAgICAgICAgLy8gWMOhYyDEkeG7i25oIGkgbMOgIG3hu5l0IMaw4bubYyBuZ3V5w6puIHThu5EgY+G7p2EgbgogICAgICAgIGlmIChuICUgaSA9PSAwKSB7CgogICAgICAgICAgICAvLyBUw6xtIHPhu5EgbcWpIGPhu6dhIGkgdHJvbmcgbgogICAgICAgICAgICBpbnQgY291bnQgPSAwOwogICAgICAgICAgICB3aGlsZSAobiAlIGkgPT0gMCkgewogICAgICAgICAgICAgICAgY291dCA8PCBpOwogICAgICAgICAgICAgICAgaWYgKG4gIT0gMSkgewogICAgICAgICAgICAgICAgICAgIGNvdXQgPDwgIiB4ICI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBjb3VudCsrOwogICAgICAgICAgICAgICAgbiA9IG4gLyBpOwogICAgICAgICAgICB9CgogICAgICAgIH0KICAgIH0KCiAgICAvLyDGr+G7m2Mgbmd1ecOqbiB04buRIGN14buRaSBjw7luZyB0cm9uZyBwaMOibiB0w61jaAogICAgaWYgKG4gIT0gMSkgewogICAgICAgIGNvdXQgPDwgbjsKICAgIH0KfQoKaW50IG1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoTlVMTCk7CgogICAgbG9uZyBsb25nIG47Y2luID4+IG47CgogICAgcHJpbnRPbmUobik7CgogICAgY291dCA8PCBlbmRsOwoKICAgIHByaW50VHdvKG4pOwoKICAgIGNvdXQgPDwgZW5kbDsKCiAgICBwcmludFRocmVlKG4pOwoKICAgIGNvdXQgPDwgZW5kbDsKICAgIHJldHVybiAwOwp9Cgo=