`x! = x * (x-1) * (x-2) * ... * 2 * 1`
x! = x * (x-1) * (x-2) * ... * 2 * 1