#include<bits/stdc++.h>
#define nb(i,j,k) for(int i=j;i<=k;i++)
#define Nb(i,j,k) for(int i=j;i>=k;i--)
using namespace std;
long long n,i=1,c;
bool f;
bool p(long long a)
{
nb(i,2,sqrt(a))
if(a%i)
return 0;
return 1;
}
int main()
{
cin>>n;
if(p(n))
{
cout<<n;
goto A;
}
while(n>1)
{
i++;
c=0;
while(n%i==0)
{
n/=i;
c++;
}
if(c)
{
if(f)
cout<<" * ";
else
f=1;
cout<<i;
if(c>1)
cout<<"^"<<c;
}
if(p(n))
{
cout<<" * "<<n;
goto A;
}
}
A:return 0;
}