Pagini recente » Cod sursa (job #2984524) | Cod sursa (job #2776293) | Cod sursa (job #253735) | Cod sursa (job #2849720) | Cod sursa (job #147295)
Cod sursa(job #147295)
var n,i,p,j,k:int64;
f:text;
begin
i:=0;
p:=0;
assign(f,'fact.in');
reset(f);
read(f,n);
close(f);
assign(f,'fact.out');
rewrite(f);
if n=0 then writeln(f,1)else
begin
{ k:=0;
while(p+305175781<=n)and(k<4)do
begin
k:=k+1;
i:=i+1220703125;
p:=p+305175781;
end;
k:=0;
while(p+61035156<=n)and(k<4) do
begin
k:=k+1;
i:=i+244140625;
p:=p+61035156;
end; }
k:=0;
while(p+12207031<=n)and(k<4) do
begin
k:=k+1;
i:=i+48828125;
p:=p+12207031;
end;
k:=0;
while(p+2441406<=n)and(k<4) do
begin
k:=k+1;
i:=i+9765625;
p:=p+2441406;
end;
k:=0;
while(p+488281<=n)and(k<4) do
begin
k:=k+1;
i:=i+1953125;
p:=p+488281;
end;
k:=0;
while(p+97656<=n)and(k<4) do
begin
k:=k+1;
i:=i+390625;
p:=p+97656;
end;
k:=0;
while(p+19531<=n)and(k<4) do
begin
k:=k+1;
i:=i+78125;
p:=p+19531;
end;
k:=0;
while(p+3906<=n)and(k<4) do
begin
k:=k+1;
i:=i+15625;
p:=p+3906;
end;
k:=0;
while(p+781<=n)and(k<4) do
begin
k:=k+1;
i:=i+3125;
p:=p+781;
end;
k:=0;
while(p+156<=n)and(k<4) do
begin
k:=k+1;
i:=i+625;
p:=p+156;
end;
k:=0;
while(p+31<=n)and(k<4) do
begin
k:=k+1;
i:=i+125;
p:=p+31;
end;
k:=0;
while(p+6<=n)and(k<4) do
begin
i:=i+25;
p:=p+6;
end;
k:=0;
while(p+1<=n)and(k<4)do
begin
k:=k+1;
i:=i+5;
p:=p+1;
end;
if p<>n then writeln(f,-1) else
writeln(f,i);
end;
close(f);
end.