#include "stdio.h"
#include "math.h"
long Prime(long);
long PrimeCount(long,long);
int main()
{
int a,curPrime,cfCount;
int v;
int tPrime=;
scanf("%d",&a);
v=Prime(a);
curPrime=a;
printf("%d=",a);
if(v==||v==a)
{
printf("%d",v);
}
else
{
tPrime=v;
while(tPrime!=curPrime)
{
cfCount=PrimeCount(curPrime,tPrime);
if(cfCount>)
{
printf("%d^%d",tPrime,cfCount);
curPrime=curPrime / pow((double)tPrime,cfCount);
}
else
{
printf("%d",tPrime);
curPrime=curPrime / pow((double)tPrime,cfCount);
}
tPrime=Prime(curPrime);
if(tPrime!=curPrime) printf("*");
}
if(tPrime!=&&tPrime==curPrime)
{
printf("*%d",tPrime);
}
}
getchar();
getchar();
return ;
}
long Prime(long num)
{
long i=;
if(num<) return ;
for(i=;i<num;i++)
{
if(num%i==) return i;
}
return num;
}
long PrimeCount(long num,long cellnum)
{
long c=;
for(;num%cellnum==;)
{
c++;
num/=cellnum;
}
return c;
}