#include<iostream> #include<cstdio> #include<vector> using namespace std; const int MAXN=4e4; bool IsPrime[MAXN]; vector<int> Prime; void Select(){ for(int i=0;i<MAXN;++i){ IsPrime[i]=true; } IsPrime[0]=IsPrime[1]=false; for(int i=2;i<MAXN;++i){ if(IsPrime[i]){ Prime.push_back(i); for(int j=i*i;j<MAXN;j+=i){ IsPrime[j]=false; } } } } int Num_PrimeFactor(int &n){ int number=0; for(int i=0;i<Prime.size();++i){ while(n%Prime[i]==0){ ++number; n/=Prime[i]; } } return n==1?number:number+1; } int main(){ int n; Select(); while(scanf("%d",&n)!=EOF){ printf("%d\n",Num_PrimeFactor(n)); } return 0; }