




"""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}")





"""simple docstring"""






import math







def      _snake_case			(				lowercase__		):
				return math.sqrt(lowercase__		) * math.sqrt(lowercase__		) == num







def      _snake_case			(				lowercase__		):
				_lowerCamelCase     :			Optional[int]    =    0
				_lowerCamelCase     :			List[Any]    =    n
				while left <= right:
								_lowerCamelCase     :			str    =    (left + right) // 2
								if mid**2 == n:
												return True
								elif mid**2 > n:
												_lowerCamelCase     :			str    =    mid - 1
								else:
												_lowerCamelCase     :			Optional[int]    =    mid + 1
				return False


if __name__ == "__main__":
			import doctest

			doctest.testmod()