"""simple docstring"""


import os
from collections import namedtuple

import pytest

from datasets import ClassLabel, Features, Sequence, Value
from datasets.commands.test import TestCommand
from datasets.info import DatasetInfo, DatasetInfosDict


a				=namedtuple(
    '_TestCommandArgs',
    [
        'dataset',
        'name',
        'cache_dir',
        'data_dir',
        'all_configs',
        'save_infos',
        'ignore_verifications',
        'force_redownload',
        'clear_cache',
    ],
    defaults=[None, None, None, False, False, False, False, False],
)





def      lowerCamelCase_					(   __lowerCAmelCase  ,       __lowerCAmelCase							)				->   str:




						'''simple docstring'''



						return (abs(source - target							) / target) < 0.01





@pytest.mark.integration
def      lowerCamelCase_					(   __lowerCAmelCase							)				->   Dict:




						'''simple docstring'''



						lowerCamelCase__   =_TestCommandArgs(dataset=__lowerCAmelCase  ,       all_configs=__lowerCAmelCase  ,       save_infos=__lowerCAmelCase							)
						lowerCamelCase__   =TestCommand(*__lowerCAmelCase							)
						test_command.run()
						lowerCamelCase__   =os.path.join(__lowerCAmelCase  ,       "README.md"							)
						assert os.path.exists(__lowerCAmelCase							)
						lowerCamelCase__   =DatasetInfosDict.from_directory(__lowerCAmelCase							)
						lowerCamelCase__   =DatasetInfosDict(
						    {
						        "default": DatasetInfo(
						            features=Features(
						                {
						                    "tokens": Sequence(Value("string"							)							),
						                    "ner_tags": Sequence(
						                        ClassLabel(names=["O", "B-PER", "I-PER", "B-ORG", "I-ORG", "B-LOC", "I-LOC"]							)							),
						                    "langs": Sequence(Value("string"							)							),
						                    "spans": Sequence(Value("string"							)							),
						                }							)  ,       splits=[
						                {
						                    "name": "train",
						                    "num_bytes": 235_1563,
						                    "num_examples": 1_0000,
						                },
						                {
						                    "name": "validation",
						                    "num_bytes": 23_8418,
						                    "num_examples": 1000,
						                },
						            ]  ,       download_size=394_0680  ,       dataset_size=258_9981  ,       )
						    }							)
						assert dataset_infos.keys() == expected_dataset_infos.keys()
						for key in DatasetInfo._INCLUDED_INFO_IN_YAML:
												lowerCamelCase__   , lowerCamelCase__   =getattr(dataset_infos["default"]  ,       __lowerCAmelCase							), getattr(expected_dataset_infos["default"]  ,       __lowerCAmelCase							)
												if key == "num_bytes":
																		assert is_apercent_close(__lowerCAmelCase  ,       __lowerCAmelCase							)
												elif key == "splits":
																		assert list(__lowerCAmelCase							) == list(__lowerCAmelCase							)
																		for split in result:
																								assert result[split].name == expected[split].name
																								assert result[split].num_examples == expected[split].num_examples
																								assert is_apercent_close(result[split].num_bytes  ,       expected[split].num_bytes							)
												else:
																		result == expected



"""simple docstring"""


def      lowerCamelCase_					(   __lowerCAmelCase							)				->   list:




						'''simple docstring'''



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

						lowerCamelCase__   =[]

						def generate(__lowerCAmelCase  ,       __lowerCAmelCase							):
												lowerCamelCase__   =[0] * n
												res.append(tuple(__lowerCAmelCase							)							)

												lowerCamelCase__   =0
												while i < n:
																		if c[i] < i:
																								if i % 2 == 0:
																														lowerCamelCase__   , lowerCamelCase__   =arr[i], arr[0]
																								else:
																														lowerCamelCase__   , lowerCamelCase__   =arr[i], arr[c[i]]
																								res.append(tuple(__lowerCAmelCase							)							)
																								c[i] += 1
																								lowerCamelCase__   =0
																		else:
																								lowerCamelCase__   =0
																								i += 1

						generate(len(__lowerCAmelCase							)  ,       __lowerCAmelCase							)
						return res


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


