        program P_3
        implicit none
        integer:: num, producto, i, num1, num2, num3, prod2, prod3, j, k, op, op2, op3
        real:: s, prod4
       
        print*,'¿De qué número quieres el factorial?'
        read (*,*) num
        producto=1
        do i=1,num
                op=i*producto
                producto=op
        end do
        print*,producto
        print*,'Da otro número para n'
        read (*,*) num1
        num2=(-1)**num1
        
        if(num2==1) then 
                prod2=1
                do j=2,num1,2
                        op2=j*prod2
                        prod2=op2
                end do
                print*,prod2
        else            
                prod3=1
                do k=1,num1,2
                        op3=k*prod3
                        prod3=op3
                end do
                print*, prod3
        end if
        
        print*,'Otra forma de sacar factorial, da un numero para n'
        read (*,*) num3
        s=num3
        prod4=(SQRT(2*s*PI))*((s/EXP)**s)     
        print*,prod4   
        
        end program P_3