#include <cstdio>
using namespace std;
long long n;
int k = 0;
int main()
{
scanf("%lld", &n);
for(long long i = 2; i*i <= n; i++)
if(n%i == 0)
{
int t = 0;
while(n%i == 0)
{
n/=i;
t++;
}
if(k == 0) k = 1;
else printf(" * ");
if(t == 1) printf("%lld", i);
else printf("%lld^%d", i, t);
}
if(n > 1) printf(" * %d", n);
return 0;
}
为啥啊?