import std.stdio;

void main() {
	ulong n;
	readf("%s", &n);

	auto primes = new ulong[0];
	auto divs = new uint[0];

	for (ulong i = 2;i * i <= n;++i) {
		uint c;
		while (n % i == 0) {
			n /= i;
			++c;
		}
		primes ~= i;
		divs ~= c;
	}

	if (n != 1) {
		primes ~= n;
		divs ~= 1;
	}

	uint ans;
	foreach (e;divs) {
		uint b = 1;
		while (b <= e) {
			e -= b;
			++b;
			++ans;
		}
	}
	writeln(ans);
}
