#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, i=2;
vector<int> v;
cin >> n;
while (i<=n){
if (n%i==0){
v.push_back(i);
n = n/i;
i=2;
}
else {
i++;
}
}
int j=0;
while (j<v.size()){
int b=0;
cout << v[j];
if (count(v.begin(), v.end(), v[j])>1){
cout << '^' << count(v.begin(), v.end(), v[j]);
j += count(v.begin(), v.end(), v[j]);
b=1;
}
if (b==0){
j++;
}
if (j!=v.size()){
cout << " * ";
}
}
return 0;
}