program DOEXAMPLE3
implicit none
INTEGER :: I, InitialVal, Limit, Prod
InitialVal=5
Limit=3
Prod=1
DO I=InitialVal, Limit, -1
Prod=Prod*I
END DO
PRINT *, "InitialVal=", InitialVal, ", Limit=", Limit, ", I=", I, &
", Prod=", Prod
end program DOEXAMPLE3