from collections import Counter



def get_prime_factors(x):

    out = []

    if x < 1:

        return out

    while not x%2:

        out.append(2)

        x //= 2

    i = 3

    while i*i <= x:

        if not x%i:

            out.append(i)

            x //= i

        else:

            i += 2

    if x != 1:

        out.append(x)

    return out



def main():

    n = int(eval(input()))

    primes = Counter(get_prime_factors(n))

    ans = 0

    for k, v in list(primes.items()):

        num = 1

        while v >= num:

            ans += 1

            v -= num

            num += 1

    print(ans)

    



if __name__ == "__main__":

    main()
from collections import Counter



def get_prime_factors(x):

    out = []

    if x < 1:

        return out

    while not x%2:

        out.append(2)

        x //= 2

    i = 3

    while i*i <= x:

        if not x%i:

            out.append(i)

            x //= i

        else:

            i += 2

    if x != 1:

        out.append(x)

    return out

    

def main():

    n = int(eval(input()))

    ans = 0

    primes = Counter(get_prime_factors(n))

    for k, v in list(primes.items()):

        num = 1

        while v >= num:

            v -= num

            num += 1

            ans += 1

    print(ans)

    



if __name__ == "__main__":

    main()
from collections import Counter


def get_prime_factors(x):
    out = []
    if x < 1:
        return out
    while not x % 2:
        out.append(2)
        x //= 2
    i = 3
    while i * i <= x:
        if not x % i:
            out.append(i)
            x //= i
        else:
            i += 2
    if x != 1:
        out.append(x)
    return out


def main():
    n = int(eval(input()))
    primes = Counter(get_prime_factors(n))
    ans = 0
    for k, v in list(primes.items()):
        num = 1
        while v >= num:
            ans += 1
            v -= num
            num += 1
    print(ans)


if __name__ == "__main__":
    main()

from collections import Counter


def get_prime_factors(x):
    out = []
    if x < 1:
        return out
    while not x % 2:
        out.append(2)
        x //= 2
    i = 3
    while i * i <= x:
        if not x % i:
            out.append(i)
            x //= i
        else:
            i += 2
    if x != 1:
        out.append(x)
    return out


def main():
    n = int(eval(input()))
    ans = 0
    primes = Counter(get_prime_factors(n))
    for k, v in list(primes.items()):
        num = 1
        while v >= num:
            v -= num
            num += 1
            ans += 1
    print(ans)


if __name__ == "__main__":
    main()

+    ans = 0 -    ans = 0 -            ans += 1 +            ans += 1