




from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
    is_vision_available,
)


lowerCamelCase							:						Dict					       =  {
    "configuration_clip": [
        "CLIP_PRETRAINED_CONFIG_ARCHIVE_MAP",
        "CLIPConfig",
        "CLIPOnnxConfig",
        "CLIPTextConfig",
        "CLIPVisionConfig",
    ],
    "processing_clip": ["CLIPProcessor"],
    "tokenization_clip": ["CLIPTokenizer"],
}

try:
 if not is_tokenizers_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 lowerCamelCase							:						Optional[Any]					       =  ["CLIPTokenizerFast"]

try:
 if not is_vision_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 lowerCamelCase							:						str					       =  ["CLIPFeatureExtractor"]
 lowerCamelCase							:						List[str]					       =  ["CLIPImageProcessor"]

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 lowerCamelCase							:						List[str]					       =  [
     "CLIP_PRETRAINED_MODEL_ARCHIVE_LIST",
     "CLIPModel",
     "CLIPPreTrainedModel",
     "CLIPTextModel",
     "CLIPTextModelWithProjection",
     "CLIPVisionModel",
     "CLIPVisionModelWithProjection",
 ]

try:
 if not is_tf_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 lowerCamelCase							:						Optional[Any]					       =  [
     "TF_CLIP_PRETRAINED_MODEL_ARCHIVE_LIST",
     "TFCLIPModel",
     "TFCLIPPreTrainedModel",
     "TFCLIPTextModel",
     "TFCLIPVisionModel",
 ]

try:
 if not is_flax_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 lowerCamelCase							:						Optional[int]					       =  [
     "FlaxCLIPModel",
     "FlaxCLIPPreTrainedModel",
     "FlaxCLIPTextModel",
     "FlaxCLIPTextPreTrainedModel",
     "FlaxCLIPVisionModel",
     "FlaxCLIPVisionPreTrainedModel",
 ]


if TYPE_CHECKING:
 from .configuration_clip import (
     CLIP_PRETRAINED_CONFIG_ARCHIVE_MAP,
     CLIPConfig,
     CLIPOnnxConfig,
     CLIPTextConfig,
     CLIPVisionConfig,
 )
 from .processing_clip import CLIPProcessor
 from .tokenization_clip import CLIPTokenizer

 try:
  if not is_tokenizers_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .tokenization_clip_fast import CLIPTokenizerFast

 try:
  if not is_vision_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .feature_extraction_clip import CLIPFeatureExtractor
  from .image_processing_clip import CLIPImageProcessor

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_clip import (
      CLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
      CLIPModel,
      CLIPPreTrainedModel,
      CLIPTextModel,
      CLIPTextModelWithProjection,
      CLIPVisionModel,
      CLIPVisionModelWithProjection,
  )

 try:
  if not is_tf_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_tf_clip import (
      TF_CLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
      TFCLIPModel,
      TFCLIPPreTrainedModel,
      TFCLIPTextModel,
      TFCLIPVisionModel,
  )

 try:
  if not is_flax_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_flax_clip import (
      FlaxCLIPModel,
      FlaxCLIPPreTrainedModel,
      FlaxCLIPTextModel,
      FlaxCLIPTextPreTrainedModel,
      FlaxCLIPVisionModel,
      FlaxCLIPVisionPreTrainedModel,
  )


else:
 import sys

 lowerCamelCase							:						Optional[Any]					       =  _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)









def SCREAMING_SNAKE_CASE							(			lowercase_		)  ->			list:



       """simple docstring"""

       if len(lowercase_		) <= 1:
              return [tuple(lowercase_		)]

       A__ 					=       []

       def generate(lowercase_					,							lowercase_		):
              if k == 1:
                     res.append(tuple(arr[:]		)		)
                     return

              generate(k - 1					,							lowercase_		)

              for i in range(k - 1		):
                     if k % 2 == 0:  # k is even
                            A__					,				A__ 					=       arr[k - 1], arr[i]
                     else:  # k is odd
                            A__					,				A__ 					=       arr[k - 1], arr[0]
                     generate(k - 1					,							lowercase_		)

       generate(len(lowercase_		)					,							lowercase_		)
       return res


if __name__ == "__main__":
  _lowerCamelCase      :						int							=  input("""Enter numbers separated by a comma:\n""").strip()
  _lowerCamelCase      :						str							=  [int(item) for item in user_input.split(""",""")]
  print(heaps(arr))


