#include <iostream>
using namespace std;
int main() {
int a1; // 宣告一個變數來存輸入的數字
cin >> a1; // 讀入輸入的數字
int a2 = a1; // 宣告一個新變數來存储 a1 的值,因為我們會在循環內更改 a2 的值
for (int b = 2; a2 > 1; b++) { // 從 2 開始循環,一直到 a2 的值小於等於 1
int sum = 0; // 宣告一個計數器,用來紀錄 b 的倍數出現了幾次
while (a2 % b == 0) { // 如果 a2 可以被 b 整除
sum++; // 計數器加一
a2 /= b; // a2 除以 b
}
if(sum == 1){ // 如果計數器的值等於 1,代表不需要印出是多少次方
cout<<b;
if (a2 > 1) { // 如果 a2 的值大於 1,代表還有剩下的因數
cout << " * "; // 輸出 * 符號
}
}
else if (sum > 1) { // 如果計數器的值大於 1,代表需要印出是多少次方
cout << b << "^" << sum; // 輸出 b 和 sum
if (a2 > 1) { // 如果 a2 的值大於 1,代表還有因數
cout << " * "; // 輸出 * 符號
}
}
}
return 0; // 程式結束,回傳 0
}