#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
int sn = sqrt(n);
bool first_output = true;
for(int i = 2; i <= sn; i++){
if(n % i == 0){
int cnt = 0;
while(n % i == 0){
n /= i;
cnt++;
}
if(!first_output){
cout << " * ";
}
cout << i;
if(cnt > 1){
cout << '^' << cnt;
}
first_output = false;
}
}
if(n != 1 || first_output){
if(!first_output){
cout << " * ";
}
cout << n;
}
cout << endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWludCBuOwoJY2luID4+IG47CglpbnQgc24gPSBzcXJ0KG4pOwoJYm9vbCBmaXJzdF9vdXRwdXQgPSB0cnVlOwoJZm9yKGludCBpID0gMjsgaSA8PSBzbjsgaSsrKXsKCQlpZihuICUgaSA9PSAwKXsKCQkJaW50IGNudCA9IDA7CgkJCXdoaWxlKG4gJSBpID09IDApewoJCQkJbiAvPSBpOwoJCQkJY250Kys7CgkJCX0KCQkJCgkJCWlmKCFmaXJzdF9vdXRwdXQpewoJCQkJY291dCA8PCAiICogIjsKCQkJfQoJCQljb3V0IDw8IGk7CgkJCWlmKGNudCA+IDEpewoJCQkJY291dCA8PCAnXicgPDwgY250OwoJCQl9CgkJCQoJCQlmaXJzdF9vdXRwdXQgPSBmYWxzZTsKCQl9Cgl9CglpZihuICE9IDEgfHwgZmlyc3Rfb3V0cHV0KXsKCQlpZighZmlyc3Rfb3V0cHV0KXsKCQkJY291dCA8PCAiICogIjsKCQl9CgkJY291dCA8PCBuOwoJfQoJY291dCA8PCBlbmRsOwoJcmV0dXJuIDA7Cn0=