

def _a					(			SCREAMING_SNAKE_CASE						:     list       ,   SCREAMING_SNAKE_CASE						:     int       ,   SCREAMING_SNAKE_CASE						:     int						)       ->       None:

 """simple docstring"""






 if right <= left:
  return
 __lowerCAmelCase:  Optional[Any]        = left
 __lowerCAmelCase:  Optional[Any]        = right
 __lowerCAmelCase:  List[Any]        = sorting[left]
 while i <= b:
  if sorting[i] < pivot:
   __lowerCAmelCase      ,				__lowerCAmelCase:  Optional[int]        = sorting[i], sorting[a]
   a += 1
   i += 1
  elif sorting[i] > pivot:
   __lowerCAmelCase      ,				__lowerCAmelCase:  Any        = sorting[i], sorting[b]
   b -= 1
  else:
   i += 1
 quick_sort_apartition(SCREAMING_SNAKE_CASE       ,   SCREAMING_SNAKE_CASE       ,   a - 1						)
 quick_sort_apartition(SCREAMING_SNAKE_CASE       ,   b + 1       ,   SCREAMING_SNAKE_CASE						)







def _a					(			SCREAMING_SNAKE_CASE						:     list       ,   SCREAMING_SNAKE_CASE						:     int       ,   SCREAMING_SNAKE_CASE						:     int						)       ->       None:

 """simple docstring"""






 if left < right:
  __lowerCAmelCase:  Dict        = lomuto_partition(SCREAMING_SNAKE_CASE       ,   SCREAMING_SNAKE_CASE       ,   SCREAMING_SNAKE_CASE						)
  quick_sort_lomuto_partition(SCREAMING_SNAKE_CASE       ,   SCREAMING_SNAKE_CASE       ,   pivot_index - 1						)
  quick_sort_lomuto_partition(SCREAMING_SNAKE_CASE       ,   pivot_index + 1       ,   SCREAMING_SNAKE_CASE						)







def _a					(			SCREAMING_SNAKE_CASE						:     list       ,   SCREAMING_SNAKE_CASE						:     int       ,   SCREAMING_SNAKE_CASE						:     int						)       ->       int:

 """simple docstring"""






 __lowerCAmelCase:  Tuple        = sorting[right]
 __lowerCAmelCase:  Optional[Any]        = left
 for i in range(SCREAMING_SNAKE_CASE       ,   SCREAMING_SNAKE_CASE						):
  if sorting[i] < pivot:
   __lowerCAmelCase      ,				__lowerCAmelCase:  int        = sorting[i], sorting[store_index]
   store_index += 1
 __lowerCAmelCase      ,				__lowerCAmelCase:  Optional[int]        = sorting[store_index], sorting[right]
 return store_index







def _a					(			SCREAMING_SNAKE_CASE						:     list						)       ->       list:

 """simple docstring"""






 if len(SCREAMING_SNAKE_CASE						) <= 1:
  return sorting
 return (
     three_way_radix_quicksort([i for i in sorting if i < sorting[0]]						)
     + [i for i in sorting if i == sorting[0]]
     + three_way_radix_quicksort([i for i in sorting if i > sorting[0]]						)
 )


if __name__ == "__main__":
  import doctest

  doctest.testmod(verbose=True)

  _a									=  input('''Enter numbers separated by a comma:\n''').strip()
  _a									=  [int(item) for item in user_input.split(''',''')]
  quick_sort_apartition(unsorted, 0, len(unsorted) - 1)
  print(unsorted)








def _a					(			SCREAMING_SNAKE_CASE						:     int						)       ->       int:

 """simple docstring"""






 return n * (2 * n - 1)







def _a					(			SCREAMING_SNAKE_CASE						:     int						)       ->       bool:

 """simple docstring"""






 __lowerCAmelCase:  List[Any]        = (1 + 24 * n) ** 0.5
 return ((1 + root) / 6) % 1 == 0







def _a					(			SCREAMING_SNAKE_CASE						:     int = 1_44						)       ->       int:

 """simple docstring"""






 __lowerCAmelCase:  Dict        = start
 __lowerCAmelCase:  List[str]        = hexagonal_num(SCREAMING_SNAKE_CASE						)
 while not is_pentagonal(SCREAMING_SNAKE_CASE						):
  n += 1
  __lowerCAmelCase:  Any        = hexagonal_num(SCREAMING_SNAKE_CASE						)
 return num


if __name__ == "__main__":
  print(f"{solution()} = ")





