'''simple docstring'''

from ...configuration_utils import PretrainedConfig
from ...utils import logging
from ...utils.backbone_utils import BackboneConfigMixin, get_aligned_output_features_output_indices


__a:			Tuple	       =       logging.get_logger(__name__)

__a:			Optional[Any]	       =       {
    """microsoft/focalnet-tiny""": """https://huggingface.co/microsoft/focalnet-tiny/resolve/main/config.json""",
}



class       UpperCAmelCase  (						a__   ,						a__ ):





       '''simple docstring'''



       SCREAMING_SNAKE_CASE 		=   "focalnet"

       def __init__(						self     ,       __lowerCAmelCase=224     ,       __lowerCAmelCase=4     ,       __lowerCAmelCase=3     ,       __lowerCAmelCase=96     ,       __lowerCAmelCase=False     ,       __lowerCAmelCase=[192, 384, 768, 768]     ,       __lowerCAmelCase=[2, 2, 6, 2]     ,       __lowerCAmelCase=[2, 2, 2, 2]     ,       __lowerCAmelCase=[3, 3, 3, 3]     ,       __lowerCAmelCase="gelu"     ,       __lowerCAmelCase=4.0     ,       __lowerCAmelCase=0.0     ,       __lowerCAmelCase=0.1     ,       __lowerCAmelCase=False     ,       __lowerCAmelCase=1E-4     ,       __lowerCAmelCase=False     ,       __lowerCAmelCase=False     ,       __lowerCAmelCase=False     ,       __lowerCAmelCase=0.0_2     ,       __lowerCAmelCase=1E-5     ,       __lowerCAmelCase=32     ,       __lowerCAmelCase=None     ,       __lowerCAmelCase=None     ,       **__lowerCAmelCase     ,       )  ->  Union[str, Any]:
        super().__init__(**__lowerCAmelCase			)

        lowercase__    :   int						= image_size
        lowercase__    :   str						= patch_size
        lowercase__    :   Optional[Any]						= num_channels
        lowercase__    :   Tuple						= embed_dim
        lowercase__    :   Tuple						= use_conv_embed
        lowercase__    :   List[str]						= hidden_sizes
        lowercase__    :   List[str]						= depths
        lowercase__    :   Optional[Any]						= focal_levels
        lowercase__    :   Optional[Any]						= focal_windows
        lowercase__    :   Union[str, Any]						= hidden_act
        lowercase__    :   Dict						= mlp_ratio
        lowercase__    :   Dict						= hidden_dropout_prob
        lowercase__    :   Tuple						= drop_path_rate
        lowercase__    :   Optional[int]						= use_layerscale
        lowercase__    :   Tuple						= layerscale_value
        lowercase__    :   List[Any]						= use_post_layernorm
        lowercase__    :   List[str]						= use_post_layernorm_in_modulation
        lowercase__    :   Tuple						= normalize_modulator
        lowercase__    :   Any						= initializer_range
        lowercase__    :   Optional[Any]						= layer_norm_eps
        lowercase__    :   Optional[Any]						= encoder_stride
        lowercase__    :   Dict						= ['''stem'''] + [F"""stage{idx}""" for idx in range(1     ,       len(self.depths			) + 1			)]
        lowercase__			,							lowercase__    :   Union[str, Any]						= get_aligned_output_features_output_indices(
            out_features=__lowerCAmelCase     ,       out_indices=__lowerCAmelCase     ,       stage_names=self.stage_names			)


'''simple docstring'''

def       __UpperCamelCase	(       UpperCAmelCase					):

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


if __name__ == "__main__":
  import doctest

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

