program ABC169D
    implicit none
    integer(8)::N,c,Ns,i,m,d,ans,j
    integer(8),allocatable,dimension(:)::L
    read*,N
    Ns=int(sqrt(real(N)))
    c=1
    m=N
    ans=0
    allocate(L(Ns+10))
    do i=2,Ns
        if(mod(m,i)==0)then
            d=0
            do
                m=m/i
                d=d+1
                if(mod(m,i)/=0)exit
            end do
            !print'(i0,1x,i0)',i,d
            L(c)=d
            c=c+1
        end if
    end do

    if(m>1)then
        !print'(i0,1x,i0)',m,1
        L(c)=1
    else
        c=c-1
    end if
    !print'(i0)',c
    if(c==0)then
        print'(i0)',0
    else
        do i=1,c
            do j=1,10
                if(2*L(i)<j*(j+1))then
                    ans=ans+j-1
                    exit
                end if
            end do
        end do
        print'(i0)',ans
    end if
end program ABC169D