procedure lucru(var c:longint;n:longint);
begin
while n mod 5=0 do
begin
n:=n div 5;
inc(c);
end;
end;
var p,n,c,k:longint;
f,g:text;
begin
assign(f,'fact.in');
reset(f);
assign(g,'fact.out');
rewrite(g);
read(f,p);
if (p>0) then
begin
{}
if p<10000 then
begin
n:=0;
c:=0;
while c<p do
begin
inc(n,5);
lucru(c,n);
end;
if c=p then write(g,n)
else write(g,'-1');
end;
{}
if (p<100000)and(p>=10000) then
begin
n:=40010;
c:=10000;
while c<p do
begin
inc(n,5);
lucru(c,n);
end;
if c=p then write(g,n)
else write(g,'-1');
end;
{}
if (p<1000000)and(p>=100000) then
begin
n:=400005;
c:=100000;
while c<p do
begin
inc(n,5);
lucru(c,n);
end;
if c=p then write(g,n)
else write(g,'-1');
end;
{}
if (p<10000000)and(p>=5000000) then
begin
n:=20000005;
c:=5000000;
while c<p do
begin
inc(n,5);
lucru(c,n);
end;
if c=p then write(g,n)
else write(g,'-1');
end;
{}
if (p<5000000)and(p>=1000000) then
begin
n:=4000005;
c:=1000000;
while c<p do
begin
inc(n,5);
lucru(c,n);
end;
if c=p then write(g,n)
else write(g,'-1');
end;
{ ~limit~ }
if (p<=25000000)and(p>=10000000) then
begin
n:=40000010;
c:=10000000;
while c<p do
begin
inc(n,5);
lucru(c,n);
end;
if c=p then write(g,n)
else write(g,'-1');
end;
{}
if (p>=75000000)and(p>=50000000) then
begin
n:=200000010;
c:=50000000;
while c<p do
begin
inc(n,5);
lucru(c,n);
end;
if c=p then write(g,n)
else write(g,'-1');
end;
{}
if (p<50000000)and(p>=25000000) then
begin
n:=100000005;
c:=25000000;
while c<p do
begin
inc(n,5);
lucru(c,n);
end;
if c=p then write(g,n)
else write(g,'-1');
end;
{}
if (p>75000000) then
begin
n:=300000010;
c:=75000000;
while c<p do
begin
inc(n,5);
lucru(c,n);
end;
if c=p then write(g,n)
else write(g,'-1');
end;
{}
end
else
if p=0 then write(g,'1');
close(f);
close(g);
end.