



from typing import TYPE_CHECKING

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


_lowercase						  =		{
    "configuration_funnel": ["FUNNEL_PRETRAINED_CONFIG_ARCHIVE_MAP", "FunnelConfig"],
    "convert_funnel_original_tf_checkpoint_to_pytorch": [],
    "tokenization_funnel": ["FunnelTokenizer"],
}

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

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _lowercase						  =		[
       "FUNNEL_PRETRAINED_MODEL_ARCHIVE_LIST",
       "FunnelBaseModel",
       "FunnelForMaskedLM",
       "FunnelForMultipleChoice",
       "FunnelForPreTraining",
       "FunnelForQuestionAnswering",
       "FunnelForSequenceClassification",
       "FunnelForTokenClassification",
       "FunnelModel",
       "FunnelPreTrainedModel",
       "load_tf_weights_in_funnel",
   ]

try:
   if not is_tf_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _lowercase						  =		[
       "TF_FUNNEL_PRETRAINED_MODEL_ARCHIVE_LIST",
       "TFFunnelBaseModel",
       "TFFunnelForMaskedLM",
       "TFFunnelForMultipleChoice",
       "TFFunnelForPreTraining",
       "TFFunnelForQuestionAnswering",
       "TFFunnelForSequenceClassification",
       "TFFunnelForTokenClassification",
       "TFFunnelModel",
       "TFFunnelPreTrainedModel",
   ]


if TYPE_CHECKING:
   from .configuration_funnel import FUNNEL_PRETRAINED_CONFIG_ARCHIVE_MAP, FunnelConfig
   from .tokenization_funnel import FunnelTokenizer

   try:
      if not is_tokenizers_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .tokenization_funnel_fast import FunnelTokenizerFast

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_funnel import (
          FUNNEL_PRETRAINED_MODEL_ARCHIVE_LIST,
          FunnelBaseModel,
          FunnelForMaskedLM,
          FunnelForMultipleChoice,
          FunnelForPreTraining,
          FunnelForQuestionAnswering,
          FunnelForSequenceClassification,
          FunnelForTokenClassification,
          FunnelModel,
          FunnelPreTrainedModel,
          load_tf_weights_in_funnel,
      )

   try:
      if not is_tf_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_tf_funnel import (
          TF_FUNNEL_PRETRAINED_MODEL_ARCHIVE_LIST,
          TFFunnelBaseModel,
          TFFunnelForMaskedLM,
          TFFunnelForMultipleChoice,
          TFFunnelForPreTraining,
          TFFunnelForQuestionAnswering,
          TFFunnelForSequenceClassification,
          TFFunnelForTokenClassification,
          TFFunnelModel,
          TFFunnelPreTrainedModel,
      )

else:
   import sys

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





def 		lowerCAmelCase__    (					UpperCamelCase_				:       Optional[int] ,       UpperCamelCase_				:       List[str] ,       UpperCamelCase_				:       List[Any] ,       UpperCamelCase_				:       str	)->  int:
    if height >= 1:
        move_tower(height - 1 ,       UpperCamelCase_ ,       UpperCamelCase_ ,       UpperCamelCase_	)
        move_disk(UpperCamelCase_ ,       UpperCamelCase_	)
        move_tower(height - 1 ,       UpperCamelCase_ ,       UpperCamelCase_ ,       UpperCamelCase_	)



def 		lowerCAmelCase__    (					UpperCamelCase_				:       Optional[int] ,       UpperCamelCase_				:       List[Any]	)->  str:
    print('''moving disk from''' ,       UpperCamelCase_ ,       '''to''' ,       UpperCamelCase_	)



def 		lowerCAmelCase__    (					)->  Tuple:
    A__		 =					int(input('''Height of hanoi: '''	).strip()	)
    move_tower(UpperCamelCase_ ,       '''A''' ,       '''B''' ,       '''C'''	)


if __name__ == "__main__":
   main()
