//Pascal ABC.NET v3.0 сборка 1111
//for
Var
i,n,r:integer;
begin
readln(n);
r:=1;
for i:=1 to n do
r:=r*i;
write(r);
end.
//while
Var
i,n,r:integer;
begin
readln(n);
r:=1;
i:=0;
while i<>n do
begin;
inc(i);
r:=r*i;
end;
write(r);
end.
//repeat
Var
i,n,r:integer;
begin
readln(n);
r:=1;
i:=0;
repeat
inc(i);
r:=r*i;
until n=i;
write(r);
end.