var p:1..1000;
k:1..10;
a,b,i:integer;
function ddr(p,k:integer):longint;
var d,d1,s:word;
b:boolean;
begin
d:=2;
if k=1 then begin
if p=1 then        {1-vi red}
s:=0 else
if p>1 then begin
while p mod d<>0 do d:=d+1;
b:=p=d;
if b then s:=1
else begin
d1:=p div d;
s:=ddr(d,1)*d1+ddr(d1,1)*d;
end;   end;
ddr:=s; end; end;
begin
readln(p,k);
if (k>=0)and(p>=0) then
begin a:=ddr(p,1);
for i:=2 to k do
a:=ddr(a,1); end
else a:=0;
writeln(a);
end.