



'''simple docstring'''

def      __lowerCamelCase     (      lowerCAmelCase_ = 3						,			lowerCAmelCase_ = 7						,			lowerCAmelCase_ = 1000000  )			->      int:
		_a     :      Tuple        =							0
		_a     :      List[Any]        =							1

		for current_denominator in range(1						,			limit + 1  ):
				_a     :      int        =							current_denominator * numerator // denominator
				if current_denominator % denominator == 0:
						current_numerator -= 1
				if current_numerator * max_denominator > current_denominator * max_numerator:
						_a     :      Any        =							current_numerator
						_a     :      Dict        =							current_denominator
		return max_numerator


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





'''simple docstring'''





def 	lowerCAmelCase_				(					snake_case_       : int					,    snake_case_       : int			)    ->      int:


     '''simple docstring'''




     return x if y == 0 else greatest_common_divisor(snake_case_					,    x % y			)





def 	lowerCAmelCase_				(					snake_case_       : int					,    snake_case_       : int			)    ->      int:


     '''simple docstring'''




     return (x * y) // greatest_common_divisor(snake_case_					,    snake_case_			)





def 	lowerCAmelCase_				(					snake_case_       : int = 20			)    ->      int:


     '''simple docstring'''




     UpperCAmelCase_           =   1
     for i in range(1					,    n + 1			):
          UpperCAmelCase_           =   lcm(snake_case_					,    snake_case_			)
     return g


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




