#include <bits/stdc++.h>
using namespace std;
#define ll long long int
unordered_map<ll,ll> primeFactors(int n){
unordered_map<ll,ll>a;
// first cjeck for 2
while(n%2==0){
a[2]++;
n = n/2;
}
for(ll i=3; i*i<=n;i+=2){
while(n%i==0){
a[i]++;
n = n/i;
}
}
// now check for prime number gretaer than sqrt n
if(n>2){
a[n]++;
}
return a;
}
int main() {
int n;
cin>>n;
unordered_map<ll,ll>b = primeFactors(n);
for(auto x:b){
cout<<x.first<<" : "<<x.second;
cout<<endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nIGludAoKdW5vcmRlcmVkX21hcDxsbCxsbD4gcHJpbWVGYWN0b3JzKGludCBuKXsKCXVub3JkZXJlZF9tYXA8bGwsbGw+YTsKCS8vIGZpcnN0IGNqZWNrIGZvciAyCgl3aGlsZShuJTI9PTApewoJCWFbMl0rKzsKCQluID0gbi8yOwoJfQoJCglmb3IobGwgaT0zOyBpKmk8PW47aSs9Mil7CgkJd2hpbGUobiVpPT0wKXsKCQkJYVtpXSsrOwoJCQluID0gbi9pOwoJCX0KCX0KCQoJLy8gbm93IGNoZWNrIGZvciBwcmltZSBudW1iZXIgZ3JldGFlciB0aGFuIHNxcnQgbgoJaWYobj4yKXsKCQlhW25dKys7Cgl9CglyZXR1cm4gYTsKfQoKaW50IG1haW4oKSB7CglpbnQgbjsKCWNpbj4+bjsKCXVub3JkZXJlZF9tYXA8bGwsbGw+YiA9IHByaW1lRmFjdG9ycyhuKTsKCWZvcihhdXRvIHg6Yil7CgkJY291dDw8eC5maXJzdDw8IiA6ICI8PHguc2Vjb25kOwoJCWNvdXQ8PGVuZGw7Cgl9CglyZXR1cm4gMDsKfQ==