






from __future__ import annotations




def        _SCREAMING_SNAKE_CASE  (				A  :       list  ,		A  :       int | None = None  ,		A  :       int | None = None  )    -> None:







   """simple docstring"""
   if start is None:
      __snake_case				:      Union[str, Any]     							= 0

   if end is None:
      __snake_case				:      int     							= len(A  ) - 1

   if start >= end:
      return

   __snake_case				:      Tuple     							= (start + end) // 2

   slowsort(A  ,		A  ,		A  )
   slowsort(A  ,		mid + 1  ,		A  )

   if sequence[end] < sequence[mid]:
      __snake_case				:      Dict     							= sequence[mid], sequence[end]

   slowsort(A  ,		A  ,		end - 1  )


if __name__ == "__main__":
      from doctest import testmod

      testmod()







'''simple docstring'''






from functools import lru_cache




@lru_cache
def        _SCREAMING_SNAKE_CASE  (				A  :       int  )    -> int:







   """simple docstring"""
   if num < 0:
      raise ValueError('Number should not be negative.'  )

   return 1 if num in (0, 1) else num * factorial(num - 1  )


if __name__ == "__main__":
      import doctest

      doctest.testmod()