




"""simple docstring"""






import math







def      _snake_case			(				lowercase__		):

				if not isinstance(lowercase__							,    lowercase__		):
								_lowerCamelCase     :			Any    =    f'''Input value of [number={number}] must be an integer'''
								raise TypeError(lowercase__		)

				if number < 1:
								_lowerCamelCase     :			Tuple    =    f'''Input value of [number={number}] must be > 0'''
								raise ValueError(lowercase__		)
				elif number == 1:
								return 3
				elif number == 2:
								return 5
				else:
								_lowerCamelCase     :			Optional[Any]    =    int(math.log(number // 3							,    2		)		) + 2

								_lowerCamelCase     :			int    =    [3, 5]
								_lowerCamelCase     :			Dict    =    2
								_lowerCamelCase     :			Optional[int]    =    3
								for block in range(1							,    lowercase__		):
												for _ in range(lowercase__		):
																proth_list.append(2 ** (block + 1) + proth_list[proth_index - 1]		)
																proth_index += 1
												increment *= 2

				return proth_list[number - 1]


if __name__ == "__main__":
			import doctest

			doctest.testmod()

			for number in range(11):
						lowercase__     						=						0
						try:
									lowercase__     						=						proth(number)
						except ValueError:
									print(F"ValueError: there is no {number}th Proth number")
									continue

						print(F"The {number}th Proth number: {value}")

def 				a						(							snake_case__:					list					):


				'''simple docstring'''

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

				lowercase_       =					[]

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

								generate(k - 1						,   snake_case__					)

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

				generate(len(snake_case__					)						,   snake_case__					)
				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))




