



"""simple docstring"""






from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tokenizers_available, is_torch_available


__snake_case							:     Tuple   =					{
    'configuration_mvp': ['MVP_PRETRAINED_CONFIG_ARCHIVE_MAP', 'MvpConfig', 'MvpOnnxConfig'],
    'tokenization_mvp': ['MvpTokenizer'],
}

try:
 if not is_tokenizers_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 __snake_case							:     List[str]   =					['MvpTokenizerFast']

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 __snake_case							:     Dict   =					[
     'MVP_PRETRAINED_MODEL_ARCHIVE_LIST',
     'MvpForCausalLM',
     'MvpForConditionalGeneration',
     'MvpForQuestionAnswering',
     'MvpForSequenceClassification',
     'MvpModel',
     'MvpPreTrainedModel',
 ]

if TYPE_CHECKING:
 from .configuration_mvp import MVP_PRETRAINED_CONFIG_ARCHIVE_MAP, MvpConfig, MvpOnnxConfig
 from .tokenization_mvp import MvpTokenizer

 try:
  if not is_tokenizers_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .tokenization_mvp_fast import MvpTokenizerFast

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_mvp import (
      MVP_PRETRAINED_MODEL_ARCHIVE_LIST,
      MvpForCausalLM,
      MvpForConditionalGeneration,
      MvpForQuestionAnswering,
      MvpForSequenceClassification,
      MvpModel,
      MvpPreTrainedModel,
  )

else:
 import sys

 __snake_case							:     List[Any]   =					_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)




"""simple docstring"""






def     _lowercase       (						__snake_case = 3      ,__snake_case = 7      ,__snake_case = 1_000_000			)		->     int:
			__lowerCAmelCase   :						Optional[Any]				= 0
			__lowerCAmelCase   :						List[str]				= 1

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


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