#include <iostream>
#include <cmath>
#include <iomanip>
#include <climits>
#include <algorithm>
#include <numeric>

using namespace std;

const int MOD = 1000000007;

void printOne(long long n) {
	for (long long i = 2;i * i <= n;i++) {
		if (n % i == 0) {
			cout << i << " ";
			int exp = 0;
			while (n % i == 0) {
				exp++;
				n = n / i;
			}
		}
	}
	if (n != 1) {
		cout << n;
	}
}

void printTwo(long long n) {
	for (long long i = 2;i * i <= n;i++) {
		if (n % i == 0) {
			int exp = 0;
			while (n % i == 0) {
				exp++;
				n = n / i;
			}
			cout << "(" << i << ", " << exp << ") ";
		}
	}
	if (n != 1) {
		cout << "(" << n << ", " << 1 << ") ";

	}
}

void printThree(long long n) {
	for (long long i = 2;i * i <= n;i++) {
		if (n % i == 0) {
			while (n % i == 0) {
				cout << i;
				n = n / i;
				if (n != 1) {
					cout << " x ";
				}
			}
			
		}
	}
	if (n != 1) {
		cout << n;
	}
}


int main() {
	long long n;cin >> n;
	printOne(n);
	cout << endl;
	printTwo(n);
	cout << endl;
	printThree(n);
}

