N = int(eval(input()))

n, p, score = N, 2, 0

while p ** 2 <= N:

  e = 1

  while n >= (p ** e) and n % (p ** e) == 0:

    n //= (p ** e)

    score += 1

    e += 1

  else:

    while n >= p and n % p == 0:

      n //= p

    p += 1

else:

  if n != 1:

    score += 1

print(score)
N = int(eval(input()))

n, p, score = N, 2, 0

while p ** 2 <= N:

  e = 1

  while n % (p ** e) == 0:

    n //= (p ** e)

    score += 1

    e += 1

  else:

    while n % p == 0:

      n //= p

    p += 1

else:

  if n != 1:

    score += 1

print(score)
N = int(eval(input()))
n, p, score = N, 2, 0
while p**2 <= N:
    e = 1
    while n >= (p**e) and n % (p**e) == 0:
        n //= p**e
        score += 1
        e += 1
    else:
        while n >= p and n % p == 0:
            n //= p
        p += 1
else:
    if n != 1:
        score += 1
print(score)

N = int(eval(input()))
n, p, score = N, 2, 0
while p**2 <= N:
    e = 1
    while n % (p**e) == 0:
        n //= p**e
        score += 1
        e += 1
    else:
        while n % p == 0:
            n //= p
        p += 1
else:
    if n != 1:
        score += 1
print(score)

-    while n >= (p**e) and n % (p**e) == 0: +    while n % (p**e) == 0: -        while n >= p and n % p == 0: +        while n % p == 0: