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


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 typing import TYPE_CHECKING

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


a_							=      {
    """configuration_squeezebert""": [
        """SQUEEZEBERT_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """SqueezeBertConfig""",
        """SqueezeBertOnnxConfig""",
    ],
    """tokenization_squeezebert""": ["""SqueezeBertTokenizer"""],
}

try:
       if not is_tokenizers_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       a_							=      ["""SqueezeBertTokenizerFast"""]

try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       a_							=      [
           """SQUEEZEBERT_PRETRAINED_MODEL_ARCHIVE_LIST""",
           """SqueezeBertForMaskedLM""",
           """SqueezeBertForMultipleChoice""",
           """SqueezeBertForQuestionAnswering""",
           """SqueezeBertForSequenceClassification""",
           """SqueezeBertForTokenClassification""",
           """SqueezeBertModel""",
           """SqueezeBertModule""",
           """SqueezeBertPreTrainedModel""",
       ]


if TYPE_CHECKING:
       from .configuration_squeezebert import (
           SQUEEZEBERT_PRETRAINED_CONFIG_ARCHIVE_MAP,
           SqueezeBertConfig,
           SqueezeBertOnnxConfig,
       )
       from .tokenization_squeezebert import SqueezeBertTokenizer

       try:
              if not is_tokenizers_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .tokenization_squeezebert_fast import SqueezeBertTokenizerFast

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_squeezebert import (
                  SQUEEZEBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
                  SqueezeBertForMaskedLM,
                  SqueezeBertForMultipleChoice,
                  SqueezeBertForQuestionAnswering,
                  SqueezeBertForSequenceClassification,
                  SqueezeBertForTokenClassification,
                  SqueezeBertModel,
                  SqueezeBertModule,
                  SqueezeBertPreTrainedModel,
              )

else:
       import sys

       a_							=      _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)



