factorial function

Factorial