
import math




def 	A_ (							snake_case							:   int )      ->    int:



						'''simple docstring'''

						if not isinstance(snake_case ,      snake_case ):
												__UpperCamelCase       =			f"Input value of [number={number}] must be an integer"
												raise TypeError(snake_case )

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

												__UpperCamelCase       =			[3, 5]
												__UpperCamelCase       =			2
												__UpperCamelCase       =			3
												for block in range(1 ,      snake_case ):
																		for _ in range(snake_case ):
																								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(1_1):
								lowercase__							:							Tuple									=			0
								try:
												lowercase__							:							Optional[int]									=			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							:   float )      ->    float:



						'''simple docstring'''

						if edge <= 0 or not isinstance(snake_case ,      snake_case ):
												raise ValueError('''Length must be a positive.''' )
						return 3 * ((25 + 10 * (5 ** (1 / 2))) ** (1 / 2)) * (edge**2)




def 	A_ (							snake_case							:   float )      ->    float:



						'''simple docstring'''

						if edge <= 0 or not isinstance(snake_case ,      snake_case ):
												raise ValueError('''Length must be a positive.''' )
						return ((15 + (7 * (5 ** (1 / 2)))) / 4) * (edge**3)


if __name__ == "__main__":
				import doctest

				doctest.testmod()




