#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <limits.h>
int main(){
    int n,i,j,k,flag,sosu;
    double ans,num,p[1000010]={};
    scanf("%d",&n);
    flag=0;
    sosu=0;
    num=0;
    if(n==1){
        printf("0");
        return 0;
    }
    if(n==2){
        printf("1");
        return 0;
    }
    for(i=2; i<n; i++){
        if(n%i==0)flag=1;
    }
    if(flag==0){
        printf("1");
        return 0;
    }
    for(i=2; i<1000010; i++){
        while(n%i==0){
            n/=i;
            p[i]++;
            if(n==1)goto NEXT;
        }
    }
    NEXT:;
    for(i=0; i<1000010; i++){
        ans=(sqrt(8*p[i]+1)-1)/2;
        ans=floor(ans);
        num+=ans;
    }
    printf("%0.lf",num);
    return 0;
}