#include <iostream> #include <cstdio> #include <vector> #include <cmath> using namespace std; //#define MAXN sqrt(1e9)+1; const int MAXN=10001; vector<int> prime; bool isPrime[MAXN]; void Initial(){ for(int i=0;i<MAXN;i++){ isPrime[i]= true; } isPrime[0]=false; isPrime[1]= false; for(int i=2;i<MAXN;i++){ if(!isPrime[i]){ continue; } prime.push_back(i); for(int j=i*i;j<MAXN;j+=i){ isPrime[j]=false; } } } int main() { Initial(); int n; while (cin>>n){ int count=0; for(int i=0;i<prime.size()&&n>prime[i];i++){ while(n%prime[i]==0){ count++; n=n/prime[i]; } } if(n>1){ count++; } cout<<count<<endl; } return 0; }