



'''simple docstring'''


def 				__lowerCamelCase				(   A__    )       ->	list:






   """simple docstring"""
   UpperCamelCase					=  len(A__    )
   for i in range(1    ,						A__    ):
      UpperCamelCase					=  collection[i]
      UpperCamelCase					=  0
      UpperCamelCase					=  i - 1

      while low <= high:
         UpperCamelCase					=  (low + high) // 2
         if val < collection[mid]:
            UpperCamelCase					=  mid - 1
         else:
            UpperCamelCase					=  mid + 1
      for j in range(A__    ,						A__    ,						-1    ):
         UpperCamelCase					=  collection[j - 1]
      UpperCamelCase					=  val
   return collection


if __name__ == "__main__":
   _lowerCamelCase	:       int      	=	input("Enter numbers separated by a comma:\n").strip()
   _lowerCamelCase	:       Union[str, Any]      	=	[int(item) for item in user_input.split(",")]
   print(binary_insertion_sort(unsorted))



"""simple docstring"""




from __future__ import annotations

from bisect import bisect_left
from functools import total_ordering
from heapq import merge

@total_ordering
class 		a__						(      a_						):
   def __lt__(			self	,    _a				):
          return self[-1] < other[-1]

   def __eq__(			self	,    _a				):
          return self[-1] == other[-1]


def   __magic_name__	(      __snake_case				:       list  ) ->				list:
       lowercase    :				list[Stack]       		=							[]
       # sort into stacks
       for element in collection:
              lowercase    :				Union[str, Any]       		=							Stack([element]  )
              lowercase    :				Dict       		=							bisect_left(__snake_case     , __snake_case  )
              if i != len(__snake_case  ):
                     stacks[i].append(__snake_case  )
              else:
                     stacks.append(__snake_case  )

    # use a heap-based merge to merge stack efficiently
       lowercase    :				Dict       		=							merge(*(reversed(__snake_case  ) for stack in stacks)  )
       return collection


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


