let n;
let count = 0;

function divGame(c) {
	var i = 1;
	var current = Math.pow(c, i);
	while(n&current == 0) {
		n = n / current;
		i++;
		count++;
		current = Math.pow(c, i);
	}
}

function is_prime(n){
	if (n == 1) {
		return false
	}
	for (var i = 2; i < Math.pow(n,0.5)+1; i++) {
		if (n % i == 0) {
			return false
		}
	}
	return true
}

// inputに入力データ全体が入る
function Main(input) {
	// 1行目がinput[0], 2行目がinput[1], …に入る
	const inputLines = input.split("\n");
	const line0 = inputLines[0];
	n = parseInt(line0, 10);

	for (var i = 2; i < n; i++) {
		if (is_prime(i)) {
			divGame(i);
		}
	}
	console.log(count);

	// tmp = input[1].split(" ");
	// //文字列から10進数に変換するときはparseIntを使います
	// var a = parseInt(input[0], 10);
	// var b = parseInt(tmp[0], 10);
	// var c = parseInt(tmp[1], 10);
	// var s = input[2];

	//出力
	// console.log('%d %s',a+b+c,s);
}
//*この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
Main(require("fs").readFileSync("/dev/stdin", "utf8"));

// node index.js
// 1
// 2 3
// test
// (Ctrl + D)