




from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


lowercase__				:      Tuple	   = {
    "configuration_lxmert": ["LXMERT_PRETRAINED_CONFIG_ARCHIVE_MAP", "LxmertConfig"],
    "tokenization_lxmert": ["LxmertTokenizer"],
}

try:
   if not is_tokenizers_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   lowercase__				:      Any	   = ["LxmertTokenizerFast"]

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   lowercase__				:      Dict	   = [
       "LxmertEncoder",
       "LxmertForPreTraining",
       "LxmertForQuestionAnswering",
       "LxmertModel",
       "LxmertPreTrainedModel",
       "LxmertVisualFeatureEncoder",
       "LxmertXLayer",
   ]

try:
   if not is_tf_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   lowercase__				:      Any	   = [
       "TF_LXMERT_PRETRAINED_MODEL_ARCHIVE_LIST",
       "TFLxmertForPreTraining",
       "TFLxmertMainLayer",
       "TFLxmertModel",
       "TFLxmertPreTrainedModel",
       "TFLxmertVisualFeatureEncoder",
   ]


if TYPE_CHECKING:
   from .configuration_lxmert import LXMERT_PRETRAINED_CONFIG_ARCHIVE_MAP, LxmertConfig
   from .tokenization_lxmert import LxmertTokenizer

   try:
      if not is_tokenizers_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .tokenization_lxmert_fast import LxmertTokenizerFast

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_lxmert import (
          LxmertEncoder,
          LxmertForPreTraining,
          LxmertForQuestionAnswering,
          LxmertModel,
          LxmertPreTrainedModel,
          LxmertVisualFeatureEncoder,
          LxmertXLayer,
      )

   try:
      if not is_tf_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_tf_lxmert import (
          TF_LXMERT_PRETRAINED_MODEL_ARCHIVE_LIST,
          TFLxmertForPreTraining,
          TFLxmertMainLayer,
          TFLxmertModel,
          TFLxmertPreTrainedModel,
          TFLxmertVisualFeatureEncoder,
      )

else:
   import sys

   lowercase__				:      str	   = _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)







def  SCREAMING_SNAKE_CASE							(       __UpperCamelCase)      ->					int:
     return 1 if digit in (0, 1) else (digit * factorial(digit - 1))

def  SCREAMING_SNAKE_CASE							(       __UpperCamelCase)      ->					bool:
     a     =				0
     a     =				number
     while duplicate > 0:
          a  ,				a     =				divmod(__UpperCamelCase		, 10)
          fact_sum += factorial(__UpperCamelCase)
     return fact_sum == number


if __name__ == "__main__":
   print("Program to check whether a number is a Krisnamurthy Number or not.")
   lowercase__				:      str	   = int(input("Enter number: ").strip())
   print(
       F'{number} is {"" if krishnamurthy(number) else "not "}a Krishnamurthy Number.'
   )

