#include #include #include using namespace std; int f(long long x, const vector &primes) { int ret = 0; for (long long i: primes) { while (x % i == 0) { ret++; x /= i; } } if (x > 1) ret++; return ret; } int main() { long long M; cin >> M; int N = 1e5 + 1; vector primes; vector is_prime(N, true); is_prime[0] = false; is_prime[1] = false; for (int i = 2; i <= N; i++) { if (is_prime[i]) { primes.push_back((long long)i); for (int j = i + i; j <= N; j += i) { is_prime[j] = false; } } } int ret = 0; for (int i = 0; i < N && M >= primes[i] ; i++) { M /= primes[i]; ret++; } cout << ret << endl; return 0; }