from collections import Counter

N = int(eval(input()))

a = []

x = 2

while x ** 2 <= N:

    if N % x == 0:

        a.append(x)

        N /= x

        x = 2

    else:

        x += 1

else:

    if x <= N:

        a.append(int(N))



a = Counter(a)

ans = 0

for i in a:

    k = 1

    while True:

        if a[i] >= k:

            ans += 1

            a[i] -= k

            k += 1

        else:

            break



print(ans)
n = int(eval(input()))

arr = []

for i in range(2, int(-(-n**0.5//1))+1):

    if n%i==0:

        cnt=0

        while n%i==0:

            cnt+=1

            n //= i

        arr.append([i, cnt])



if n!=1:

    arr.append([n, 1])



# if arr==[]:

#     arr.append([n, 1])





ans = 0

for i in range(len(arr)):

    k = 1

    while True:

        if arr[i][1] >= k:

            ans += 1

            arr[i][1] -= k

            k += 1

        else:

            break



print(ans)
from collections import Counter

N = int(eval(input()))
a = []
x = 2
while x**2 <= N:
    if N % x == 0:
        a.append(x)
        N /= x
        x = 2
    else:
        x += 1
else:
    if x <= N:
        a.append(int(N))
a = Counter(a)
ans = 0
for i in a:
    k = 1
    while True:
        if a[i] >= k:
            ans += 1
            a[i] -= k
            k += 1
        else:
            break
print(ans)

n = int(eval(input()))
arr = []
for i in range(2, int(-(-(n**0.5) // 1)) + 1):
    if n % i == 0:
        cnt = 0
        while n % i == 0:
            cnt += 1
            n //= i
        arr.append([i, cnt])
if n != 1:
    arr.append([n, 1])
# if arr==[]:
#     arr.append([n, 1])
ans = 0
for i in range(len(arr)):
    k = 1
    while True:
        if arr[i][1] >= k:
            ans += 1
            arr[i][1] -= k
            k += 1
        else:
            break
print(ans)

-from collections import Counter - -N = int(eval(input())) -a = [] -x = 2 -while x**2 <= N: -    if N % x == 0: -        a.append(x) -        N /= x -        x = 2 -    else: -        x += 1 -else: -    if x <= N: -        a.append(int(N)) -a = Counter(a) +n = int(eval(input())) +arr = [] +for i in range(2, int(-(-(n**0.5) // 1)) + 1): +    if n % i == 0: +        cnt = 0 +        while n % i == 0: +            cnt += 1 +            n //= i +        arr.append([i, cnt]) +if n != 1: +    arr.append([n, 1]) +# if arr==[]: +#     arr.append([n, 1]) -for i in a: +for i in range(len(arr)): -        if a[i] >= k: +        if arr[i][1] >= k: -            a[i] -= k +            arr[i][1] -= k