import sys

input = lambda: sys.stdin.readline().rstrip()

from collections import defaultdict



N = int(eval(input()))



def prime_factorize(n):

  ret = []

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

    if i > n:break

    while n % i == 0:

      n //= i

      ret.append(i)

  if n != 1:

    ret.append(n)

  return ret



dic = defaultdict(int)

lis = prime_factorize(N)

for num in lis:

    dic[num] += 1



ans = 0



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

    i = 1

    while v >= i:

        v -= i

        i += 1   

    ans += i - 1

print(ans)
import sys

input = lambda: sys.stdin.readline().rstrip()



N = int(eval(input()))



def prime_factorize(n):

  ret = []

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

    if i > n:break

    cnt = 0

    while n % i == 0:

      n //= i

      cnt += 1

    if cnt > 0:  

      ret.append((i, cnt))

  if n != 1:

    ret.append((n, 1))

  return ret



lis = prime_factorize(N)



ans = 0



for v, cnt in lis:

    i = 1

    while cnt >= i:

        cnt -= i

        i += 1   

    ans += i - 1

print(ans) 
import sys

input = lambda: sys.stdin.readline().rstrip()
from collections import defaultdict

N = int(eval(input()))


def prime_factorize(n):
    ret = []
    for i in range(2, int(n ** (1 / 2)) + 1):
        if i > n:
            break
        while n % i == 0:
            n //= i
            ret.append(i)
    if n != 1:
        ret.append(n)
    return ret


dic = defaultdict(int)
lis = prime_factorize(N)
for num in lis:
    dic[num] += 1
ans = 0
for v in list(dic.values()):
    i = 1
    while v >= i:
        v -= i
        i += 1
    ans += i - 1
print(ans)

import sys

input = lambda: sys.stdin.readline().rstrip()
N = int(eval(input()))


def prime_factorize(n):
    ret = []
    for i in range(2, int(n ** (1 / 2)) + 1):
        if i > n:
            break
        cnt = 0
        while n % i == 0:
            n //= i
            cnt += 1
        if cnt > 0:
            ret.append((i, cnt))
    if n != 1:
        ret.append((n, 1))
    return ret


lis = prime_factorize(N)
ans = 0
for v, cnt in lis:
    i = 1
    while cnt >= i:
        cnt -= i
        i += 1
    ans += i - 1
print(ans)

-from collections import defaultdict - +        cnt = 0 -            ret.append(i) +            cnt += 1 +        if cnt > 0: +            ret.append((i, cnt)) -        ret.append(n) +        ret.append((n, 1)) -dic = defaultdict(int) -for num in lis: -    dic[num] += 1 -for v in list(dic.values()): +for v, cnt in lis: -    while v >= i: -        v -= i +    while cnt >= i: +        cnt -= i