#include<stdio.h> // 此程式可作質因數分解
#include<math.h>
int main(){
int n, temp, i, count[1000003]={0};
int factor[1000003]={0};
scanf("%d", &n);
temp = n;
for (i=2; i<=temp; i++){
if (temp%i==0){ // 若temp可被i整除
temp=temp/i; // 此行即是短除法的結果
factor[i]=1; // 將factor[i]之值變為1,即表示有此質因數存在
count[i]++; // 對應的count[i]紀錄此質因數的次方數
i--; // 為了避免temp還有此質因數,將i--再做一次
}
}
int test=0, j=n;
for (j=n; j>=2; j--){
if (factor[j]!=0){ // 檢查最後一個質因數的所在
test=j;
break;
}
}
//printf("j=%d test=%d\n", j, test);
int k=2;
for (k=2; k<=n; k++){
if (factor[k]!=0){
if (count[k]!=1) printf("%d^%d", k, count[k]); // 若有此質因數且其不只一次方則輸出此形式
else printf("%d", k); // 若此質因數只一次則輸出成此形式
}
if (factor[k]!=0 && k!=test) printf(" * "); // 若此質因數非最後一個質因數,則再輸出"*"
}
printf("\n");
return 0;
}