#include <stdio.h>
#include<math.h>

int isPrime(int x){
    int i;
    if(x == 2) return 2;
    else if(x%2 == 0) return x;
    for(i = 3; i*i <= x; i += 2) if(x%i == 0) return x;
    return 2;
}

int findFactors(long long int num){
    int i,a,ans=0,b=2,j=2;
    while (num % b == 0){ // 偶数の素数は2のみ
     ans++;
     num /= b;
     b=pow(b,2);
     j++;
    }
    j=2;
    for (i = 3; i <=num; i++){ 
        a=i;// 他の素数で割っていく
        while (num % a == 0){
            ans++;
            num /= a;
            a=pow(a,j);
            j++;
        }
    }
    return ans;
}

int main(void){
    long long int num,nnum,a,ans;
    scanf("%lld",&num);
    if(num==1)printf("%d",0);
    else{
    a=isPrime(num);
    ans=findFactors(num);
    printf("%lld",ans);
    }
    return 0;
}