import numpy as np

import math



def fuctrization(n):

    arr = []

    tmp = n

    for i in range(2,math.ceil(n**(1/2))+1):

        if tmp%i==0:

            j = 0

            while tmp%i==0:

                j += 1

                tmp //= i

            arr.append([i,j])

    if tmp != 1:

        arr.append([tmp,1])

    if arr:

        pass

    else:

        arr.append([n,1])

            

    return arr

            

        

        

n = int(eval(input()))

if n == 1:

    print((0))

else:

    arr = fuctrization(n)

    nn = 0

    for i in range(len(arr)):

        k = arr[i][1]

        nnn = 1

        while k-nnn>=0:

            k -= nnn

            nnn += 1

            nn +=1

    print(nn)

import sys

def factorization(n):

    arr = []

    temp = n

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

        if temp%i==0:

            cnt=0

            while temp%i==0:

                cnt+=1

                temp //= i

            arr.append([i, cnt])



    if temp!=1:

        arr.append([temp, 1])



    if arr==[]:

        arr.append([n, 1])



    return arr



N = int(eval(input()))

if N == 1:

    print((0))

    sys.exit()

a = factorization(N)

ans = 0



for i in range(len(a)):

    k = a[i][1]

    cnt = 1

    while k-cnt>=0:

        k -= cnt

        cnt += 1

    ans += cnt-1

    

    

print(ans)
import numpy as np
import math


def fuctrization(n):
    arr = []
    tmp = n
    for i in range(2, math.ceil(n ** (1 / 2)) + 1):
        if tmp % i == 0:
            j = 0
            while tmp % i == 0:
                j += 1
                tmp //= i
            arr.append([i, j])
    if tmp != 1:
        arr.append([tmp, 1])
    if arr:
        pass
    else:
        arr.append([n, 1])
    return arr


n = int(eval(input()))
if n == 1:
    print((0))
else:
    arr = fuctrization(n)
    nn = 0
    for i in range(len(arr)):
        k = arr[i][1]
        nnn = 1
        while k - nnn >= 0:
            k -= nnn
            nnn += 1
            nn += 1
    print(nn)

import sys


def factorization(n):
    arr = []
    temp = n
    for i in range(2, int(-(-(n**0.5) // 1)) + 1):
        if temp % i == 0:
            cnt = 0
            while temp % i == 0:
                cnt += 1
                temp //= i
            arr.append([i, cnt])
    if temp != 1:
        arr.append([temp, 1])
    if arr == []:
        arr.append([n, 1])
    return arr


N = int(eval(input()))
if N == 1:
    print((0))
    sys.exit()
a = factorization(N)
ans = 0
for i in range(len(a)):
    k = a[i][1]
    cnt = 1
    while k - cnt >= 0:
        k -= cnt
        cnt += 1
    ans += cnt - 1
print(ans)

-import numpy as np -import math +import sys -def fuctrization(n): +def factorization(n): -    tmp = n -    for i in range(2, math.ceil(n ** (1 / 2)) + 1): -        if tmp % i == 0: -            j = 0 -            while tmp % i == 0: -                j += 1 -                tmp //= i -            arr.append([i, j]) -    if tmp != 1: -        arr.append([tmp, 1]) -    if arr: -        pass -    else: +    temp = n +    for i in range(2, int(-(-(n**0.5) // 1)) + 1): +        if temp % i == 0: +            cnt = 0 +            while temp % i == 0: +                cnt += 1 +                temp //= i +            arr.append([i, cnt]) +    if temp != 1: +        arr.append([temp, 1]) +    if arr == []: -n = int(eval(input())) -if n == 1: +N = int(eval(input())) +if N == 1: -else: -    arr = fuctrization(n) -    nn = 0 -    for i in range(len(arr)): -        k = arr[i][1] -        nnn = 1 -        while k - nnn >= 0: -            k -= nnn -            nnn += 1 -            nn += 1 -    print(nn) +    sys.exit() +a = factorization(N) +ans = 0 +for i in range(len(a)): +    k = a[i][1] +    cnt = 1 +    while k - cnt >= 0: +        k -= cnt +        cnt += 1 +    ans += cnt - 1 +print(ans)