#include <iostream>
#include <string>
#include <stack>
#include <valarray>

using namespace std;

bool f(int a) {
    if (a <= 1) {
        cout << "no";
        return false;
    }
    double bound = sqrt(a);
    for (int i = 2; i <= bound; ++i) {
        if (a % i == 0) {
            return false;
        }
    }
    return true;
}

int su(int a, int b) {
    for (int i = a; i < b; ++i) {
        if (f(i)) {
//            cout<<"i:"<<i<<endl;
            return i;
        }
    }
    return -1;
}

int main() {
    int a, sum = 0, i = 2;
    cin >> a;
    int x = a;
    while (a != 1) {
        int t = su(i, x);
        if (a % t == 0) {
//            cout<<"t:"<<t<<endl;
            a = a / t;
            sum++;
            if (f(a)) {		//因为数太大,有时会超时,就加这个代码直接判断a是不是素数,是的话直接返回,会快的多
                sum++;
                break;
            }
            i = 2;

        } else {
            i++;
        }
    }
    cout << sum;
}