


"""simple docstring"""




import math






def 							__lowercase       (			__lowerCAmelCase							:    int       ):



							if not isinstance(__lowerCAmelCase ,   __lowerCAmelCase       ):
														a__					=					F'Input value of [number={number}] must be an integer'
														raise TypeError(__lowerCAmelCase       )

							if number < 1:
														a__					=					F'Input value of [number={number}] must be > 0'
														raise ValueError(__lowerCAmelCase       )
							elif number == 1:
														return 3
							elif number == 2:
														return 5
							else:
														a__					=					int(math.log(number // 3 ,   2       )       ) + 2

														a__					=					[3, 5]
														a__					=					2
														a__					=					3
														for block in range(1 ,   __lowerCAmelCase       ):
																					for _ in range(__lowerCAmelCase       ):
																												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):
												snake_case							:	Optional[int]					      =				0
												try:
																		snake_case							:	int					      =				proth(number)
												except ValueError:
																		print(f"""ValueError: there is no {number}th Proth number""")
																		continue

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








from __future__ import annotations






def 							__lowercase       (			__lowerCAmelCase							:    list[int] ,   __lowerCAmelCase							:    int ,   __lowerCAmelCase							:    int ,   __lowerCAmelCase							:    int       ):
							if (direction == 1 and array[indexa] > array[indexa]) or (
							    direction == 0 and array[indexa] < array[indexa]
							):
														a__				, a__					=					array[indexa], array[indexa]






def 							__lowercase       (			__lowerCAmelCase							:    list[int] ,   __lowerCAmelCase							:    int ,   __lowerCAmelCase							:    int ,   __lowerCAmelCase							:    int       ):
							if length > 1:
														a__					=					int(length / 2       )
														for i in range(__lowerCAmelCase ,   low + middle       ):
																					comp_and_swap(__lowerCAmelCase ,   __lowerCAmelCase ,   i + middle ,   __lowerCAmelCase       )
														bitonic_merge(__lowerCAmelCase ,   __lowerCAmelCase ,   __lowerCAmelCase ,   __lowerCAmelCase       )
														bitonic_merge(__lowerCAmelCase ,   low + middle ,   __lowerCAmelCase ,   __lowerCAmelCase       )






def 							__lowercase       (			__lowerCAmelCase							:    list[int] ,   __lowerCAmelCase							:    int ,   __lowerCAmelCase							:    int ,   __lowerCAmelCase							:    int       ):
							if length > 1:
														a__					=					int(length / 2       )
														bitonic_sort(__lowerCAmelCase ,   __lowerCAmelCase ,   __lowerCAmelCase ,   1       )
														bitonic_sort(__lowerCAmelCase ,   low + middle ,   __lowerCAmelCase ,   0       )
														bitonic_merge(__lowerCAmelCase ,   __lowerCAmelCase ,   __lowerCAmelCase ,   __lowerCAmelCase       )


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

						bitonic_sort(unsorted, 0, len(unsorted), 1)
						print('''\nSorted array in ascending order is: ''', end='''''')
						print(*unsorted, sep=''', ''')

						bitonic_merge(unsorted, 0, len(unsorted), 0)
						print('''Sorted array in descending order is: ''', end='''''')
						print(*unsorted, sep=''', ''')




