#include<stdio.h>
long long min(long long a,long long b){
  if(a>=b){return b;}
  else{return a;}
}

int main(){
  long long n;
  scanf("%lld",&n);
  
  int ans=0,flag,flag1=0;
  
  
  long long k=2;
  for(int i=1;i>=0;i++){
    if(n%k==0){
      ans+=1;
      n=n/k;
      k*=2;
    }
    else{break;}
  }
  
  for(int i=1;i>=0;i++){
    if(n%2==0){
      n=n/2;
    }
    else{break;}
  }
  
  if(n==1){
    printf("%d",ans);
    return 0;
  }
  
  
  
  for(long long p=3;p<=1000000;p++){
    flag=0;
    for(long long i=2;i<=min(1000,p-1);i++){
      if(p%i==0){
        flag=1;
        break;
      }
    }
    if(flag==0){
      flag1=1;
      k=p;
      for(int j=1;j>0;j++){
        if(n%k==0){
          ans+=1;
          n=n/k;
          if(1000000000000/p<k){break;}
          k*=p;
        }
        else{break;}
      }
    }
  }
  
  if(flag1==0){ans+=1;}
  
  
  printf("%d",ans);
  return 0;
}