{
  Programa para o calculo do fatorial utilizando o
  comando while (equivalente 'a versao que utiliza for-downto)
}

program fatorial;
var
  fat, n, i: integer;
   
begin  
   writeln ('Fatorial de N');
   write('N: ');
   read (n);

   fat := n;

   i := n-1;
   while i >= 2 do
   begin
      fat := fat * i;
      i := i - 1;
   end;

   writeln(n, '! = ', fat);
end.
