!     Este programa calcula el factorial de un número pequeño.
!     A continuacion espera a que se pulse la tecla RETURN (Entrar).


      write(6,'(/a,$)') ' n = '
      read(5,*) n

      if (n.lt.0) then
        write(6,'(/a/)') ' Error -> n no puede ser negativo.'
        read(5,'()')
        call exit(1)
      else if (n.gt.12) then
        write(6,'(/a/)') ' Error -> El factorial es demasiado grande.'
        read(5,'()')
        call exit(2)
      endif

      nfact=nfactorial(n)
      write(6,100) n,nfact
  100 format(/i12,' ! = ',i12/)

      read(5,'()')

      end

c_______________________________________________________________________________
      integer*4 Function nfactorial(n)

      nf=1
      do i=n,1,-1
        nf=nf*i
      enddo

      nfactorial=nf

      return
	end