





"""simple docstring"""


def     UpperCamelCase       (SCREAMING_SNAKE_CASE    ):
						if not isinstance(SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE    ):
												raise ValueError("""Input series is not valid, valid series - [2, 4, 8]"""    )
						if len(SCREAMING_SNAKE_CASE    ) == 0:
												raise ValueError("""Input list must be a non empty list"""    )
						if len(SCREAMING_SNAKE_CASE    ) == 1:
												return True
						try:
												UpperCamelCase							:		Any							      = series[1] / series[0]
												for index in range(len(SCREAMING_SNAKE_CASE    ) - 1    ):
																		if series[index + 1] / series[index] != common_ratio:
																								return False
						except ZeroDivisionError:
												return False
						return True

def     UpperCamelCase       (SCREAMING_SNAKE_CASE    ):
						if not isinstance(SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE    ):
												raise ValueError("""Input series is not valid, valid series - [2, 4, 8]"""    )
						if len(SCREAMING_SNAKE_CASE    ) == 0:
												raise ValueError("""Input list must be a non empty list"""    )
						UpperCamelCase							:		List[str]							      = 1
						for value in series:
												answer *= value
						return pow(SCREAMING_SNAKE_CASE       ,    1 / len(SCREAMING_SNAKE_CASE    )    )


if __name__ == "__main__":
		import doctest

		doctest.testmod()










"""simple docstring"""


from __future__ import annotations

def     UpperCamelCase       (SCREAMING_SNAKE_CASE    ):
						UpperCamelCase							:		Tuple							      = [0] * max_one

						for i in range(0       ,    SCREAMING_SNAKE_CASE    ):
												UpperCamelCase							:		Union[str, Any]							      = i

						for i in range(2       ,    SCREAMING_SNAKE_CASE    ):
												if totients[i] == i:
																		for j in range(SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE    ):
																								totients[j] -= totients[j] // i

						return totients

def     UpperCamelCase       (SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE    ):
						return sorted(str(SCREAMING_SNAKE_CASE    )    ) == sorted(str(SCREAMING_SNAKE_CASE    )    )

def     UpperCamelCase       (SCREAMING_SNAKE_CASE = 1000_0000    ):
						UpperCamelCase							:		List[str]							      = 1  # i
						UpperCamelCase							:		Optional[int]							      = 0  # φ(i)
						UpperCamelCase							:		List[str]							      = get_totients(max_n + 1    )

						for i in range(2       ,    max_n + 1    ):
												UpperCamelCase							:		Tuple							      = totients[i]

												if i * min_denominator < min_numerator * t and has_same_digits(SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE    ):
																		UpperCamelCase							:		str							      = i
																		UpperCamelCase							:		Tuple							      = t

						return min_numerator


if __name__ == "__main__":
		print(f'''{solution() = }''')



