





def     a__ (					lowercase__  ):






   '''simple docstring'''






   def merge(lowercase__  ,    lowercase__  ) -> 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(lowercase__  ) <= 1:
      return collection
   UpperCAmelCase_											=len(lowercase__  ) // 2
   return merge(merge_sort(collection[:mid]  )  ,    merge_sort(collection[mid:]  )  )


if __name__ == "__main__":
     import doctest

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











from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tf_available, is_torch_available


__lowercase  :   Optional[Any]						      ={
    """configuration_groupvit""": [
        """GROUPVIT_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """GroupViTConfig""",
        """GroupViTOnnxConfig""",
        """GroupViTTextConfig""",
        """GroupViTVisionConfig""",
    ],
}

try:
     if not is_torch_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     __lowercase  :   List[Any]						      =[
         """GROUPVIT_PRETRAINED_MODEL_ARCHIVE_LIST""",
         """GroupViTModel""",
         """GroupViTPreTrainedModel""",
         """GroupViTTextModel""",
         """GroupViTVisionModel""",
     ]

try:
     if not is_tf_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     __lowercase  :   List[str]						      =[
         """TF_GROUPVIT_PRETRAINED_MODEL_ARCHIVE_LIST""",
         """TFGroupViTModel""",
         """TFGroupViTPreTrainedModel""",
         """TFGroupViTTextModel""",
         """TFGroupViTVisionModel""",
     ]

if TYPE_CHECKING:
     from .configuration_groupvit import (
         GROUPVIT_PRETRAINED_CONFIG_ARCHIVE_MAP,
         GroupViTConfig,
         GroupViTOnnxConfig,
         GroupViTTextConfig,
         GroupViTVisionConfig,
     )

     try:
          if not is_torch_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_groupvit import (
              GROUPVIT_PRETRAINED_MODEL_ARCHIVE_LIST,
              GroupViTModel,
              GroupViTPreTrainedModel,
              GroupViTTextModel,
              GroupViTVisionModel,
          )

     try:
          if not is_tf_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_tf_groupvit import (
              TF_GROUPVIT_PRETRAINED_MODEL_ARCHIVE_LIST,
              TFGroupViTModel,
              TFGroupViTPreTrainedModel,
              TFGroupViTTextModel,
              TFGroupViTVisionModel,
          )

else:
     import sys

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




