def      __SCREAMING_SNAKE_CASE  ( __UpperCamelCase   :	int     )							-> "list[int]":







  """simple docstring"""





  if upper_limit < 0:
    raise ValueError("""Limit for the Catalan sequence must be ≥ 0"""     )

  SCREAMING_SNAKE_CASE__      							=				[0] * (upper_limit + 1)

  # Base case: C(0) = C(1) = 1
  SCREAMING_SNAKE_CASE__      							=				1
  if upper_limit > 0:
    SCREAMING_SNAKE_CASE__      							=				1

  # Recurrence relation: C(i) = sum(C(j).C(i-j-1)), from j = 0 to i
  for i in range(2			,					upper_limit + 1     ):
    for j in range(__UpperCamelCase     ):
      catalan_list[i] += catalan_list[j] * catalan_list[i - j - 1]

  return catalan_list


if __name__ == "__main__":
   print('''\n********* Catalan Numbers Using Dynamic Programming ************\n''')
   print('''\n*** Enter -1 at any time to quit ***''')
   print('''\nEnter the upper limit (≥ 0) for the Catalan number sequence: ''', end='''''')
   try:
      while True:
         __lowerCamelCase      :			Union[str, Any]							       =		int(input().strip())
         if N < 0:
            print('''\n********* Goodbye!! ************''')
            break
         else:
            print(F"""The Catalan numbers from 0 through {N} are:""")
            print(catalan_numbers(N))
            print('''Try another upper limit for the sequence: ''', end='''''')
   except (NameError, ValueError):
      print('''\n********* Invalid input, goodbye! ************\n''')

   import doctest

   doctest.testmod()

def      __SCREAMING_SNAKE_CASE  ( __UpperCamelCase   :	Union[str, Any]     )							-> int:







  """simple docstring"""





  SCREAMING_SNAKE_CASE__      							=				len(__UpperCamelCase     )
  for i in range(length - 1     ):
    SCREAMING_SNAKE_CASE__      							=				i
    for k in range(i + 1			,					__UpperCamelCase     ):
      if collection[k] < collection[least]:
        SCREAMING_SNAKE_CASE__      							=				k
    if least != i:
      SCREAMING_SNAKE_CASE__							,					SCREAMING_SNAKE_CASE__      							=				(collection[i], collection[least])
  return collection


if __name__ == "__main__":
   __lowerCamelCase      :			Any							       =		input('''Enter numbers separated by a comma:\n''').strip()
   __lowerCamelCase      :			Dict							       =		[int(item) for item in user_input.split(''',''')]
   print(selection_sort(unsorted))
