Factorial Leetcode Problem 643