#include <iostream>
#include <cstdio>
#include <vector>
#include <cmath>

using namespace std;

//#define MAXN sqrt(1e9)+1;
const int MAXN=10001;

vector<int> prime;
bool isPrime[MAXN];

void Initial(){
    for(int i=0;i<MAXN;i++){
        isPrime[i]= true;
    }
    isPrime[0]=false;
    isPrime[1]= false;
    for(int i=2;i<MAXN;i++){
        if(!isPrime[i]){
            continue;
        }
        prime.push_back(i);
        for(int j=i*i;j<MAXN;j+=i){
            isPrime[j]=false;
        }
    }
}

int main() {
    Initial();
    int n;
    while (cin>>n){
        int count=0;
        for(int i=0;i<prime.size()&&n>prime[i];i++){
            while(n%prime[i]==0){
                count++;
                n=n/prime[i];
            }
        }
        if(n>1){
            count++;
        }
        cout<<count<<endl;
    }
    return 0;
}