
def 	UpperCamelCase__  (     SCREAMING_SNAKE_CASE_	:	int | float | str       )  ->     tuple[int, int]:
						try:
												_lowercase					       =					float(SCREAMING_SNAKE_CASE_       )
						except ValueError:
												raise ValueError("""Please enter a valid number"""       )
						_lowercase					       =					decimal - int(SCREAMING_SNAKE_CASE_       )
						if fractional_part == 0:
												return int(SCREAMING_SNAKE_CASE_       ), 1
						else:
												_lowercase					       =					len(str(SCREAMING_SNAKE_CASE_       ).split("""."""       )[1]       )
												_lowercase					       =					int(decimal * (10**number_of_frac_digits)       )
												_lowercase					       =					10**number_of_frac_digits
												_lowercase       ,						_lowercase					       =					denominator, numerator
												while True:
																		_lowercase					       =					dividend % divisor
																		if remainder == 0:
																								break
																		_lowercase       ,						_lowercase					       =					divisor, remainder
												_lowercase       ,						_lowercase					       =					numerator / divisor, denominator / divisor
												return int(SCREAMING_SNAKE_CASE_       ), int(SCREAMING_SNAKE_CASE_       )


if __name__ == "__main__":
		print(F'{decimal_to_fraction(2) = }')
		print(F'{decimal_to_fraction(89.0) = }')
		print(F'{decimal_to_fraction("67") = }')
		print(F'{decimal_to_fraction("45.0") = }')
		print(F'{decimal_to_fraction(1.5) = }')
		print(F'{decimal_to_fraction("6.25") = }')
		print(F'{decimal_to_fraction("78td") = }')

from __future__ import annotations




def 	UpperCamelCase__  (     SCREAMING_SNAKE_CASE_	:	float		,   SCREAMING_SNAKE_CASE_	:	float		,   SCREAMING_SNAKE_CASE_	:	float		,   )  ->     tuple:
						if (electron_conc, hole_conc, intrinsic_conc).count(0       ) != 1:
												raise ValueError("""You cannot supply more or less than 2 values"""       )
						elif electron_conc < 0:
												raise ValueError("""Electron concentration cannot be negative in a semiconductor"""       )
						elif hole_conc < 0:
												raise ValueError("""Hole concentration cannot be negative in a semiconductor"""       )
						elif intrinsic_conc < 0:
												raise ValueError(
												    """Intrinsic concentration cannot be negative in a semiconductor"""       )
						elif electron_conc == 0:
												return (
												    "electron_conc",
												    intrinsic_conc**2 / hole_conc,
												)
						elif hole_conc == 0:
												return (
												    "hole_conc",
												    intrinsic_conc**2 / electron_conc,
												)
						elif intrinsic_conc == 0:
												return (
												    "intrinsic_conc",
												    (electron_conc * hole_conc) ** 0.5,
												)
						else:
												return (-1, -1)


if __name__ == "__main__":
		import doctest

		doctest.testmod()