Tail recursion
Implemented factorial