program conio;
var n, risposta:longint;
function primo(x: integer): boolean;
var i:longint;
begin
i:= 2;
while (i<x) and (x mod i <> 0) do i:= i+1;
primo:= i = x;
end;
procedure trovadivisori (x:longint);
var y,molt:longint;
begin
y:=2; risposta:=0;
repeat
molt:=0;
if primo(y) then
begin
while x mod y =0 do
begin
x:= x div y;
molt:= molt+1;
end;
risposta:=risposta + molt;
end;
y:=y+1;
until y>x;
end;
begin
(*assign(input, 'input.txt'); reset(input);
assign(output, 'output.txt'); rewrite(output);*)
readln(n);
trovadivisori(n);
writeln(risposta+1);
end.
cHJvZ3JhbSBjb25pbzsKdmFyIG4sIHJpc3Bvc3RhOmxvbmdpbnQ7CgpmdW5jdGlvbiBwcmltbyh4OiBpbnRlZ2VyKTogYm9vbGVhbjsKdmFyIGk6bG9uZ2ludDsKYmVnaW4KICAgaTo9IDI7CiAgIHdoaWxlIChpPHgpIGFuZCAoeCBtb2QgaSA8PiAwKSBkbyBpOj0gaSsxOwogICBwcmltbzo9IGkgPSB4OwplbmQ7ICAgCgpwcm9jZWR1cmUgdHJvdmFkaXZpc29yaSAoeDpsb25naW50KTsKdmFyIHksbW9sdDpsb25naW50OwogICAgCmJlZ2luCnk6PTI7IHJpc3Bvc3RhOj0wOwpyZXBlYXQKCW1vbHQ6PTA7IAoJaWYgcHJpbW8oeSkgdGhlbiAKCSBiZWdpbgoJICAgd2hpbGUgeCBtb2QgeSA9MCBkbwoJICAgICAgYmVnaW4KCSAgICAgICAgIHg6PSB4IGRpdiB5OwoJICAgICAgICAgbW9sdDo9IG1vbHQrMTsKCSAgICAgIGVuZDsKCSAgcmlzcG9zdGE6PXJpc3Bvc3RhICsgbW9sdDsKCSBlbmQ7IAoJICB5Oj15KzE7CnVudGlsIHk+eDsgICAKZW5kOwpiZWdpbgoJKCphc3NpZ24oaW5wdXQsICAnaW5wdXQudHh0Jyk7ICByZXNldChpbnB1dCk7CiAgICBhc3NpZ24ob3V0cHV0LCAnb3V0cHV0LnR4dCcpOyByZXdyaXRlKG91dHB1dCk7KikKCXJlYWRsbihuKTsKCXRyb3ZhZGl2aXNvcmkobik7Cgl3cml0ZWxuKHJpc3Bvc3RhKzEpOwplbmQu