#include <bits/stdc++.h>
using namespace std;
int main() {
int angka, jumlah = 0;
cin >> angka;
string jawab;
bool ok = false;
bool ada = false;
while (angka % 2 == 0) {
angka /= 2;
jumlah++;
ok = true;
}
if(ok) {
if (jumlah == 1) {
jawab += "2";
} else {
jawab += "2^" + to_string(jumlah);
}
ada = true;
}
ok = false;
for (int a = 3; a * a <= angka; a += 2) {
if(ada) {
jawab += " x ";
ada = false;
}
jumlah = 0;
while (angka % a == 0) {
angka /= a;
jumlah++;
ok = true;
ada = true;
}
if(ok) {
if (jumlah == 1) {
jawab += to_string(a);
} else {
jawab += to_string(a) + "^" + to_string(jumlah);
}
ok = false;
}
}
if (angka > 1) {
if (ada) jawab += " x ";
jawab += to_string(angka);
}
cout << jawab;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWludCBhbmdrYSwganVtbGFoID0gMDsKCWNpbiA+PiBhbmdrYTsKCXN0cmluZyBqYXdhYjsKCWJvb2wgb2sgPSBmYWxzZTsKCWJvb2wgYWRhID0gZmFsc2U7CgkKCXdoaWxlIChhbmdrYSAlIDIgPT0gMCkgewoJCWFuZ2thIC89IDI7CgkJanVtbGFoKys7CgkJb2sgPSB0cnVlOwoJfQoJaWYob2spIHsKCQlpZiAoanVtbGFoID09IDEpIHsKCQkJamF3YWIgKz0gIjIiOwoJCX0gZWxzZSB7CgkJamF3YWIgKz0gIjJeIiArIHRvX3N0cmluZyhqdW1sYWgpOwoJCX0KCWFkYSA9IHRydWU7Cgl9CglvayA9IGZhbHNlOwoJCQoJZm9yIChpbnQgYSA9IDM7IGEgKiBhIDw9IGFuZ2thOyBhICs9IDIpIHsKCQlpZihhZGEpIHsKCQkJamF3YWIgKz0gIiB4ICI7IAoJCQlhZGEgPSBmYWxzZTsKCQl9CgkJanVtbGFoID0gMDsKCQl3aGlsZSAoYW5na2EgJSBhID09IDApIHsKCQkJYW5na2EgLz0gYTsKCQkJanVtbGFoKys7CgkJCW9rID0gdHJ1ZTsKCQkJYWRhID0gdHJ1ZTsKCQl9CgkJCgkJaWYob2spIHsKCQkJaWYgKGp1bWxhaCA9PSAxKSB7CgkJCQlqYXdhYiArPSB0b19zdHJpbmcoYSk7CgkJCX0gZWxzZSB7CgkJCQlqYXdhYiArPSB0b19zdHJpbmcoYSkgKyAiXiIgKyB0b19zdHJpbmcoanVtbGFoKTsKCQkJfQoJCW9rID0gZmFsc2U7CgkJfQoJfQoJCglpZiAoYW5na2EgPiAxKSB7CgkJaWYgKGFkYSkgamF3YWIgKz0gIiB4ICI7CgkJamF3YWIgKz0gdG9fc3RyaW5nKGFuZ2thKTsKCX0KCWNvdXQgPDwgamF3YWI7Cn0K