program factorial (input,output); var zero,i,j,carry,n,x : integer; A: array [0..99] of integer; begin (* main *) readln(n); while (n > 0) do begin if (n <= 1) then writeln('1') else begin A[0]:=1; for j:=1 to 99 do A[j]:=0; for i:= 2 to n do begin carry:=0; for j:=0 to 99 do begin x:= A[j]*i+carry; A[j]:= (x mod 10); carry:= x div 10; end end; zero:=99; while (A[zero]=0) do zero:=zero-1; for j:=zero downto 0 do write(A[j]:1); writeln; end; readln(n); end; end.