program FUNCTION1
implicit none
INTEGER :: n, MySum, MyFact
PRINT *, "Enter a positive integer k"
READ *, n
MySum=Add(n)
MyFact=Fact(n)
PRINT *, "sum= ", MySum
PRINT *, "Factorial= ", MyFact
!PRINT *, "n= ", n
CONTAINS
FUNCTION Add(k)
INTEGER :: i, Add
INTEGER, INTENT(IN) :: k
Add=0
DO i=1, k
Add=Add+i
END DO
END FUNCTION Add
FUNCTION Fact(k)
INTEGER :: i, Fact
INTEGER, INTENT(IN) :: k
Fact=1
DO i=1, k
Fact=Fact*i
END DO
END FUNCTION Fact
end program FUNCTION1