


import math





def   _lowerCAmelCase				(   UpperCamelCase__:     str						) ->   int:





	"""simple docstring"""







	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):
								_lowercase       :      List[str]	=  0
								try:
												_lowercase       :      Optional[Any]	=  proth(number)
								except ValueError:
												print(f'''ValueError: there is no {number}th Proth number''')
												continue

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







def   _lowerCAmelCase				(   UpperCamelCase__:     str						) ->   str:





	"""simple docstring"""







	return " ".join(input_str.split()[::-1]						)


if __name__ == "__main__":
				import doctest

				doctest.testmod()



