






"""simple docstring"""






def 					_A			(__a							) ->       list:
    """simple docstring"""






    SCREAMING_SNAKE_CASE_      :  Dict    						=		len(__a							)
    for i in range(1    ,				__a							):
        SCREAMING_SNAKE_CASE_      :  int    						=		collection[i]
        SCREAMING_SNAKE_CASE_      :  Tuple    						=		0
        SCREAMING_SNAKE_CASE_      :  Optional[int]    						=		i - 1

        while low <= high:
            SCREAMING_SNAKE_CASE_      :  Any    						=		(low + high) // 2
            if val < collection[mid]:
                SCREAMING_SNAKE_CASE_      :  str    						=		mid - 1
            else:
                SCREAMING_SNAKE_CASE_      :  Dict    						=		mid + 1
        for j in range(__a    ,				__a    ,				-1							):
            SCREAMING_SNAKE_CASE_      :  Optional[int]    						=		collection[j - 1]
        SCREAMING_SNAKE_CASE_      :  Optional[Any]    						=		val
    return collection


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










"""simple docstring"""






from math import factorial



def 					_A			(__a = 20							) ->       int:
    """simple docstring"""






    SCREAMING_SNAKE_CASE_      :  Dict    						=		2 * n  # middle entry of odd rows starting at row 3 is the solution for n = 1,
    # 2, 3,...
    SCREAMING_SNAKE_CASE_      :  List[str]    						=		n // 2

    return int(factorial(__a							) / (factorial(__a							) * factorial(n - k							))							)


if __name__ == "__main__":
  import sys

  if len(sys.argv) == 1:
    print(solution(20))
  else:
    try:
      UpperCAmelCase_   : List[str]   			= int(sys.argv[1])
      print(solution(n))
    except ValueError:
      print("""Invalid entry - please enter a number.""")


