


from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


__UpperCAmelCase : Optional[int] 			=				{
    "configuration_clap": [
        "CLAP_PRETRAINED_MODEL_ARCHIVE_LIST",
        "ClapAudioConfig",
        "ClapConfig",
        "ClapTextConfig",
    ],
    "processing_clap": ["ClapProcessor"],
}

try:
     if not is_torch_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     __UpperCAmelCase : List[Any] 			=				[
         "CLAP_PRETRAINED_MODEL_ARCHIVE_LIST",
         "ClapModel",
         "ClapPreTrainedModel",
         "ClapTextModel",
         "ClapTextModelWithProjection",
         "ClapAudioModel",
         "ClapAudioModelWithProjection",
     ]
     __UpperCAmelCase : List[Any] 			=				["ClapFeatureExtractor"]

if TYPE_CHECKING:
     from .configuration_clap import (
         CLAP_PRETRAINED_MODEL_ARCHIVE_LIST,
         ClapAudioConfig,
         ClapConfig,
         ClapTextConfig,
     )
     from .processing_clap import ClapProcessor

     try:
          if not is_torch_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .feature_extraction_clap import ClapFeatureExtractor
          from .modeling_clap import (
              CLAP_PRETRAINED_MODEL_ARCHIVE_LIST,
              ClapAudioModel,
              ClapAudioModelWithProjection,
              ClapModel,
              ClapPreTrainedModel,
              ClapTextModel,
              ClapTextModelWithProjection,
          )


else:
     import sys

     __UpperCAmelCase : List[str] 			=				_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)





from __future__ import annotations


def      a	(							SCREAMING_SNAKE_CASE_      :		list[int]       ):






       """simple docstring"""





       if len(SCREAMING_SNAKE_CASE_       ) == 0:
              return array

       UpperCamelCase	, UpperCamelCase    :	Union[str, Any]   	=		min(SCREAMING_SNAKE_CASE_       ), max(SCREAMING_SNAKE_CASE_       )

       # Compute the variables
       UpperCamelCase    :	Union[str, Any]   	=		_max - _min + 1
       UpperCamelCase	, UpperCamelCase    :	Optional[Any]   	=		[0] * holes_range, [0] * holes_range

       # Make the sorting.
       for i in array:
              UpperCamelCase    :	Optional[int]   	=		i - _min
              UpperCamelCase    :	Any   	=		i
              holes_repeat[index] += 1

       # Makes the array back by replacing the numbers.
       UpperCamelCase    :	str   	=		0
       for i in range(SCREAMING_SNAKE_CASE_       ):
              while holes_repeat[i] > 0:
                     UpperCamelCase    :	List[Any]   	=		holes[i]
                     index += 1
                     holes_repeat[i] -= 1

    # Returns the sorted array.
       return array


if __name__ == "__main__":
  import doctest

  doctest.testmod()
  __UpperCAmelCase : Any 			=				input("Enter numbers separated by comma:\n")
  __UpperCAmelCase : int 			=				[int(x) for x in user_input.split(",")]
  print(pigeon_sort(unsorted))

