#include<stdio.h>
#include<math.h>
int nDiv_Prime(int prime, long int N){
	int nDiv = 0;
	while(N % prime == 0){
		N /= prime;
		nDiv++;
	}
	return nDiv;
}
int main(){
	long int N;
	scanf("%ld", &N);
	long int Naux = N;
	int ans = 0, isPrime[1000001] = {};
	for(long int i = 2; i * i <= N; i++){
		if(isPrime[i] == 0){
			int nDiv = nDiv_Prime(i, N);
			ans += (int) (sqrt(2 * nDiv + 1.0 / 4) - 1.0 / 2);
			Naux /= powl(i, nDiv);
			for(int j = 1; i * j <= 1000000; j++)
				isPrime[i * j] = 1;
		}
	}
	ans += Naux > 1 ? 1 : 0;
	printf("%d", ans);
	return 0;
}