input: def understand_recursion(n: int) -> int:
      """This function uses recursion to calculate the factorial of a given number.
      It calls itself to break down the problem into smaller subproblems. The base
      case is when n is 1, it returns 1. For other values, it returns n multiplied
      by the factorial of n-1.
      
      Example:
      >>> understand_recursion(5)
      120
      """
output:     if n == 1:
          return 1
      else:
          return n * understand_recursion(n - 1)