input: Write a function to calculate the factorial of a number using recursion. The function should take a single integer as input and return the factorial of that number. If the input number is 1, the function should return 1.
  
  
  def factorial(n):
     if n == 1:
        return 1
     else:
        return n * factorial(n - 1)
  
  assert factorial(5) == 120
  assert factorial(1) == 1
  assert factorial(3) == 6
  assert factorial(0) # This should raise an exception
  
output: def factorial(n):
     if n == 1:
        return 1
     else:
        return n * factorial(n - 1)