#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#define Rep(i,l,r)for(int i=(int)l;i<(int)r;i++)
#define rep(i,n)Rep(i,0,n)
typedef long long lld;
typedef long double Lf;
#define Ma(x,y) ((x)>(y)?(x):(y))
#define mi(x,y) ((x)<(y)?(x):(y))
#define N 1000001

int fac(lld n, int a[]) {
	int x = 0;
	for (lld k = 2; k <= n; k++) {
		if (n % k == 0) { a[k]++; n /= k; k = 1; x++; }
		if (k > sqrt(n) && !x) { x=-1;break; }
	}
	return x;
}

int main() {
	lld n, ans = 0;
	scanf("%lld", &n);
	if (n > 1) {
		int a[N] = { 0 };
		if (fac(n,a)==-1) { ans++; }
		else {
			rep(i, N) {
				if (a[i]) {
					int b[11] = { 1,3,6,10,15,21,28,36,45,55,66 };
					rep(j, 11) {
						if (a[i] < b[j]) { ans += j; break; }
                    }
				}
			}
		}
	}
	printf("%lld", ans);
}