'''simple docstring'''

import math
def       __UpperCamelCase	(       UpperCAmelCase					):
 assert isinstance(lowerCAmelCase__		,					lowerCAmelCase__					) and (
     number >= 0
 ), "'number' must been an int and positive"

 if 1 < number < 4:
  # 2 and 3 are primes
  return True
 elif number < 2 or not number % 2:
  # Negatives, 0, 1 and all even numbers are not primes
  return False

 lowercase__    :   str						= range(3		,					int(math.sqrt(lowerCAmelCase__					) + 1					)		,					2					)
 return not any(not number % i for i in odd_numbers					)





def       __UpperCamelCase	(       UpperCAmelCase		,					UpperCAmelCase=1		,					**UpperCAmelCase					):
 lowercase__    :   List[str]						= factor * value
 lowercase__    :   Optional[Any]						= value

 while not is_prime(lowerCAmelCase__					):
  value += 1 if not ("desc" in kwargs and kwargs["desc"] is True) else -1

 if value == first_value_val:
  return next_prime(value + 1		,					**lowerCAmelCase__					)
 return value


'''simple docstring'''

def       __UpperCamelCase	(       UpperCAmelCase					):

 def merge(UpperCAmelCase		,					UpperCAmelCase					) -> list:

  def _merge():
   while left and right:
    yield (left if left[0] <= right[0] else right).pop(0					)
   yield from left
   yield from right

  return list(_merge()					)

 if len(UpperCAmelCase					) <= 1:
  return collection
 lowercase__    :   int						= len(UpperCAmelCase					) // 2
 return merge(merge_sort(collection[:mid]					)		,					merge_sort(collection[mid:]					)					)


if __name__ == "__main__":
  import doctest

  doctest.testmod()
  __a:			str	       =       input("""Enter numbers separated by a comma:\n""").strip()
  __a:			Optional[int]	       =       [int(item) for item in user_input.split(""",""")]
  print(*merge_sort(unsorted), sep=""",""")

