
from typing import TYPE_CHECKING

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


lowerCamelCase__          =		{
    """configuration_mobilebert""": [
        """MOBILEBERT_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """MobileBertConfig""",
        """MobileBertOnnxConfig""",
    ],
    """tokenization_mobilebert""": ["""MobileBertTokenizer"""],
}

try:
					if not is_tokenizers_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					lowerCamelCase__          =		["""MobileBertTokenizerFast"""]

try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					lowerCamelCase__          =		[
					    """MOBILEBERT_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """MobileBertForMaskedLM""",
					    """MobileBertForMultipleChoice""",
					    """MobileBertForNextSentencePrediction""",
					    """MobileBertForPreTraining""",
					    """MobileBertForQuestionAnswering""",
					    """MobileBertForSequenceClassification""",
					    """MobileBertForTokenClassification""",
					    """MobileBertLayer""",
					    """MobileBertModel""",
					    """MobileBertPreTrainedModel""",
					    """load_tf_weights_in_mobilebert""",
					]

try:
					if not is_tf_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					lowerCamelCase__          =		[
					    """TF_MOBILEBERT_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """TFMobileBertForMaskedLM""",
					    """TFMobileBertForMultipleChoice""",
					    """TFMobileBertForNextSentencePrediction""",
					    """TFMobileBertForPreTraining""",
					    """TFMobileBertForQuestionAnswering""",
					    """TFMobileBertForSequenceClassification""",
					    """TFMobileBertForTokenClassification""",
					    """TFMobileBertMainLayer""",
					    """TFMobileBertModel""",
					    """TFMobileBertPreTrainedModel""",
					]


if TYPE_CHECKING:
					from .configuration_mobilebert import (
					    MOBILEBERT_PRETRAINED_CONFIG_ARCHIVE_MAP,
					    MobileBertConfig,
					    MobileBertOnnxConfig,
					)
					from .tokenization_mobilebert import MobileBertTokenizer

					try:
										if not is_tokenizers_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .tokenization_mobilebert_fast import MobileBertTokenizerFast

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_mobilebert import (
										    MOBILEBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
										    MobileBertForMaskedLM,
										    MobileBertForMultipleChoice,
										    MobileBertForNextSentencePrediction,
										    MobileBertForPreTraining,
										    MobileBertForQuestionAnswering,
										    MobileBertForSequenceClassification,
										    MobileBertForTokenClassification,
										    MobileBertLayer,
										    MobileBertModel,
										    MobileBertPreTrainedModel,
										    load_tf_weights_in_mobilebert,
										)

					try:
										if not is_tf_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_tf_mobilebert import (
										    TF_MOBILEBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
										    TFMobileBertForMaskedLM,
										    TFMobileBertForMultipleChoice,
										    TFMobileBertForNextSentencePrediction,
										    TFMobileBertForPreTraining,
										    TFMobileBertForQuestionAnswering,
										    TFMobileBertForSequenceClassification,
										    TFMobileBertForTokenClassification,
										    TFMobileBertMainLayer,
										    TFMobileBertModel,
										    TFMobileBertPreTrainedModel,
										)

else:
					import sys

					lowerCamelCase__          =		_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)

def  lowerCAmelCase__			(  SCREAMING_SNAKE_CASE_     )				->		list:

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

			lowerCAmelCase__      :      Optional[Any]         =		[]

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

						generate(k - 1       ,							SCREAMING_SNAKE_CASE_     )

						for i in range(k - 1     ):
									if k % 2 == 0:  # k is even
												lowerCAmelCase__      ,				lowerCAmelCase__      :      str         =		arr[k - 1], arr[i]
									else:  # k is odd
												lowerCAmelCase__      ,				lowerCAmelCase__      :      Union[str, Any]         =		arr[k - 1], arr[0]
									generate(k - 1       ,							SCREAMING_SNAKE_CASE_     )

			generate(len(SCREAMING_SNAKE_CASE_     )       ,							SCREAMING_SNAKE_CASE_     )
			return res


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