#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const unsigned int Inf=0x3f3f3f3f;
const unsigned int mod=1e9+7;
const unsigned N=1e5+5;
ll n;
bool f=0;
signed main(){
cin>>n;
ll nnnnnnnnnn=n;
for(int i=2;i*i<=nnnnnnnnnn;i++){
if(n%i)continue;
if(f)printf(" * ");
int cnt=0;
while(~(n%i)==EOF)n/=i,cnt++;
printf("%d",i);
if(cnt^1)printf("^%d",cnt);
f=1;
}
if(n^1){
if(f)printf(" * %d",n);
else printf("%d",n);
}
return 0;
}
#2 #6 #9 TLE,不知道为什么。