



def 			lowerCAmelCase__	(					lowerCamelCase_	:	int = 3 ,lowerCamelCase_	:	int = 7 ,lowerCamelCase_	:	int = 1000000):





				'''simple docstring'''

				lowerCAmelCase__  :       Optional[int]				=  0
				lowerCAmelCase__  :       List[str]				=  1

				for current_denominator in range(1 ,limit + 1):
								lowerCAmelCase__  :       Union[str, Any]				=  current_denominator * numerator // denominator
								if current_denominator % denominator == 0:
												current_numerator -= 1
								if current_numerator * max_denominator > current_denominator * max_numerator:
												lowerCAmelCase__  :       List[Any]				=  current_numerator
												lowerCAmelCase__  :       int				=  current_denominator
				return max_numerator


if __name__ == "__main__":
							print(solution(numerator=3, denominator=7, limit=1_0_0_0_0_0_0))






def 			lowerCAmelCase__	(					lowerCamelCase_	:	int):





				'''simple docstring'''

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

				if number < 1:
								lowerCAmelCase__  :       Any				=  f"""Input value of [number={number}] must be > 0"""
								raise ValueError(lowerCamelCase_)

				lowerCAmelCase__  :       List[str]				=  1

				for i in range(1 ,lowerCamelCase_):
								current_number *= 4 * i - 2
								current_number //= i + 1

				return current_number


if __name__ == "__main__":
							import doctest

							doctest.testmod()

