#include <iostream>
#include <cmath>
using namespace std;


const int N=sqrt(1e+9);//N=31622
bool prime[31623];

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

int main() {
    Initial();//本题也可以不用求prime数组
    int n;
    while (cin >> n) { 
        int bound=sqrt(n);
        int count=0;

 /*       for(int i=2;(i<=bound)&&(prime[i]==1);i++)//不能这样,一旦prime[4]不满足条件之后就会跳出循环
        {
            while(n%i==0)
            {
                count++;
                n/=i;
            }

        }
*/         
            for(int i=2;i<=bound;i++)
        {
            if(prime[i]==false)continue;//其实本题也用不到这句话
            while(n%i==0)
            {
                count++;
                n/=i;
            }

        }
        if(n>1)count++;

        cout<<count<<endl;
    }
}