



'''simple docstring'''





def 						__snake_case(				_lowerCAmelCase		)		-> Union[str, Any]:
      # if the collection is empty, returns empty
      if collection == []:
            return []

      # get some information about the collection
      snake_case__  :    Tuple    						=      len(_lowerCAmelCase		)
      snake_case__  :    Any    						=      max(_lowerCAmelCase		)
      snake_case__  :    List[Any]    						=      min(_lowerCAmelCase		)

      # create the counting array
      snake_case__  :    Optional[int]    						=      coll_max + 1 - coll_min
      snake_case__  :    Optional[Any]    						=      [0] * counting_arr_length

      # count how much a number appears in the collection
      for number in collection:
            counting_arr[number - coll_min] += 1

      # sum each position with it's predecessors. now, counting_arr[i] tells
      # us how many elements <= i has in the collection
      for i in range(1     ,   _lowerCAmelCase		):
            snake_case__  :    Dict    						=      counting_arr[i] + counting_arr[i - 1]

      # create the output collection
      snake_case__  :    Dict    						=      [0] * coll_len

      # place the elements in the output, respecting the original order (stable
      # sort) from end to begin, updating counting_arr
      for i in reversed(range(0     ,   _lowerCAmelCase		)		):
            snake_case__  :    Optional[Any]    						=      collection[i]
            counting_arr[collection[i] - coll_min] -= 1

      return ordered





def 						__snake_case(				_lowerCAmelCase		)		-> str:
      return "".join([chr(_lowerCAmelCase		) for i in counting_sort([ord(_lowerCAmelCase		) for c in string]		)]		)


if __name__ == "__main__":
       # Test string sort
       assert counting_sort_string("thisisthestring") == "eghhiiinrsssttt"

       __a          =		input("Enter numbers separated by a comma:\n").strip()
       __a          =		[int(item) for item in user_input.split(",")]
       print(counting_sort(unsorted))





'''simple docstring'''





# Function to print upper half of diamond (pyramid)





def 						__snake_case(				_lowerCAmelCase		)		-> Any:
      for i in range(0     ,   _lowerCAmelCase		):
            for _ in range(0     ,   n - i - 1		):  # printing spaces
                  print(""" """     ,   end=""""""		)
            for _ in range(0     ,   i + 1		):  # printing stars
                  print("""* """     ,   end=""""""		)
            print()





def 						__snake_case(				_lowerCAmelCase		)		-> List[str]:
      for i in range(_lowerCAmelCase     ,   0     ,   -1		):
            for _ in range(_lowerCAmelCase     ,   0     ,   -1		):  # printing stars
                  print("""* """     ,   end=""""""		)
            print()
            for _ in range(n - i + 1     ,   0     ,   -1		):  # printing spaces
                  print(""" """     ,   end=""""""		)





def 						__snake_case(				_lowerCAmelCase		)		-> List[Any]:
      if n <= 0:
            print("""       ...       ....        nothing printing :("""		)
            return
      floyd(_lowerCAmelCase		)  # upper half
      reverse_floyd(_lowerCAmelCase		)  # lower half


if __name__ == "__main__":
       print(R"| /\ | |- |  |-  |--| |\  /| |-")
       print(R"|/  \| |- |_ |_  |__| | \/ | |_")
       __a          =		1
       while K:
              __a          =		int(input("enter the number and , and see the magic : "))
              print()
              pretty_print(user_number)
              __a          =		int(input("press 0 to exit... and 1 to continue..."))

       print("Good Bye...")
