


def  __lowerCAmelCase					(SCREAMING_SNAKE_CASE      ,      SCREAMING_SNAKE_CASE      ,      SCREAMING_SNAKE_CASE      ,      SCREAMING_SNAKE_CASE      ,      SCREAMING_SNAKE_CASE      ,      SCREAMING_SNAKE_CASE      )->						List[Any]:




      """simple docstring"""

      if index == r:
            for j in range(SCREAMING_SNAKE_CASE      ):
                  print(data[j]      ,      end=''' '''      )
            print(''' '''      )
            return
      #  When no more elements are there to put in data[]
      if i >= n:
            return
      # current is included, put next at next location
      snake_case_ =   arr[i]
      combination_util(SCREAMING_SNAKE_CASE      ,      SCREAMING_SNAKE_CASE      ,      SCREAMING_SNAKE_CASE      ,      index + 1      ,      SCREAMING_SNAKE_CASE      ,      i + 1      )
      # current is excluded, replace it with
      # next (Note that i+1 is passed, but
      # index is not changed)
      combination_util(SCREAMING_SNAKE_CASE      ,      SCREAMING_SNAKE_CASE      ,      SCREAMING_SNAKE_CASE      ,      SCREAMING_SNAKE_CASE      ,      SCREAMING_SNAKE_CASE      ,      i + 1      )
      # The main function that prints all combinations
      # of size r in arr[] of size n. This function
      # mainly uses combinationUtil()






def  __lowerCAmelCase					(SCREAMING_SNAKE_CASE      ,      SCREAMING_SNAKE_CASE      ,      SCREAMING_SNAKE_CASE      )->						Optional[Any]:




      """simple docstring"""

      snake_case_ =   [0] * r
      # Print all combination using temporary array 'data[]'
      combination_util(SCREAMING_SNAKE_CASE      ,      SCREAMING_SNAKE_CASE      ,      SCREAMING_SNAKE_CASE      ,      0      ,      SCREAMING_SNAKE_CASE      ,      0      )


if __name__ == "__main__":
   # Driver code to check the function above
   UpperCAmelCase    =					[10, 20, 30, 40, 50]
   print_combination(arr, len(arr), 3)
   # This code is contributed by Ambuj sahu



def  __lowerCAmelCase					(SCREAMING_SNAKE_CASE = 3      ,      SCREAMING_SNAKE_CASE = 7      ,      SCREAMING_SNAKE_CASE = 100_0000      )->						int:




      """simple docstring"""

      snake_case_ =   0
      snake_case_ =   1

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


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