with Ada.Text_IO;

procedure Hello_World (Console : Console_Type) is

   function Fact (N : Integer) return Integer is
   begin
      if N <= 1 then
         return 1;
      else
         return N * Fact (N - 1);
      end if;
   end Fact;

begin
   Ada.Text_IO.Put_Line ("Hello, world!");
   Ada.Text_IO.Put_Line ("Fact (6) = " & Integer'Image (Fact (6)));
end Fact;
