#include<bits/stdc++.h>
using namespace std;
#define int long long
#define pb push_back
#define f first
#define s second
#define all(container) container.begin(),container.end()
#define fast ios::sync_with_stdio(0); cin.tie(0)
int32_t main(){
fast;
int n; cin >> n;
map<int,int> mp;
for(int i=2;i<=sqrt(n);i++){
int c = 0;
while(n%i==0){
n/=i;
c++;
mp[i]++;
}
}
if(n>1) mp[n]++;
for(auto p : mp) cout << p.f << "^" << p.s << '\n';
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIGYgZmlyc3QKI2RlZmluZSBzIHNlY29uZAojZGVmaW5lIGFsbChjb250YWluZXIpIGNvbnRhaW5lci5iZWdpbigpLGNvbnRhaW5lci5lbmQoKQoKI2RlZmluZSBmYXN0IGlvczo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApCgppbnQzMl90IG1haW4oKXsKICAKICBmYXN0OwogIAogIGludCBuOyBjaW4gPj4gbjsKICBtYXA8aW50LGludD4gbXA7CgogIGZvcihpbnQgaT0yO2k8PXNxcnQobik7aSsrKXsKICAgIGludCBjID0gMDsKICAgIHdoaWxlKG4laT09MCl7CiAgICAgIG4vPWk7CiAgICAgIGMrKzsKICAgICAgbXBbaV0rKzsKICAgIH0KICB9CgogIGlmKG4+MSkgbXBbbl0rKzsKCiAgZm9yKGF1dG8gcCA6IG1wKSBjb3V0IDw8IHAuZiA8PCAiXiIgPDwgcC5zIDw8ICdcbic7CiAgCiAgcmV0dXJuIDA7Cn0g