Factorial Program Logic Formulation