
program fatorar;
var n, nat, multi : Integer;
begin
readLn(n);
nat:=2;
while n>1 do
begin
multi:=0;
while n mod nat =0 do
begin
multi:=multi+1;
n:=n div nat
end;
if multi<>0
then writeLn(nat, multi);
nat:=nat+1
end
end.