#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
bool zhishu(int x) { //质数:只能被1和自身整除
for (int i = 2; i<=sqrt(x); i++) {
if (x % i == 0) return false;
}
if(x!=1) return true;
else return false;
}
int main() {
int n;
while (cin >> n) {
vector<int> num;//存储n的所有质因数
for (int i = 2; i<=sqrt(n); i++) {
if (n % i == 0) {//是因数
if(zhishu(i))//是质数
num.push_back(i);
if(zhishu(n/i))
num.push_back(n / i);
}
}
// for(int a:num) cout<<a<<" ";
// cout<<endl;
int res=0;
for(int i=0;i<num.size();i++){
while(n%num[i]==0){
n/=num[i];
res++;
}
}
cout<<res<<endl;
}
}
// 64 位输出请用 printf("%lld")