import math

N = int(eval(input()))

if N == 1:

    print((0))

    exit()

div = {}

i = 2

while i*i <= N:

    while N % i == 0:

        N = N // i

        if i in div:

            div[i] += 1

        else:

            div[i] = 1

    if N == 1:

        break

    i += 1

if N != 1:

    div[N] = 1

ans = 0

for v in list(div.values()):

    i = 1

    while v >= i:

        v -= i

        i += 1

        ans += 1

print(ans)

import math

N = int(eval(input()))

if N == 1:

    print((0))

    exit()

div = {}

for i in range(2, int(math.sqrt(N))+1):

    while N % i == 0:

        N = N // i

        if i in div:

            div[i] += 1

        else:

            div[i] = 1

    if N == 1:

        break

if N != 1:

    div[N] = 1

ans = 0

for v in list(div.values()):

    i = 1

    while v >= i:

        v -= i

        i += 1

        ans += 1

print(ans)

import math

N = int(eval(input()))
if N == 1:
    print((0))
    exit()
div = {}
i = 2
while i * i <= N:
    while N % i == 0:
        N = N // i
        if i in div:
            div[i] += 1
        else:
            div[i] = 1
    if N == 1:
        break
    i += 1
if N != 1:
    div[N] = 1
ans = 0
for v in list(div.values()):
    i = 1
    while v >= i:
        v -= i
        i += 1
        ans += 1
print(ans)

import math

N = int(eval(input()))
if N == 1:
    print((0))
    exit()
div = {}
for i in range(2, int(math.sqrt(N)) + 1):
    while N % i == 0:
        N = N // i
        if i in div:
            div[i] += 1
        else:
            div[i] = 1
    if N == 1:
        break
if N != 1:
    div[N] = 1
ans = 0
for v in list(div.values()):
    i = 1
    while v >= i:
        v -= i
        i += 1
        ans += 1
print(ans)

-i = 2 -while i * i <= N: +for i in range(2, int(math.sqrt(N)) + 1): -    i += 1