


from typing import TYPE_CHECKING

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


UpperCAmelCase_				:			Optional[Any]   =	{
    'configuration_mega': ['MEGA_PRETRAINED_CONFIG_ARCHIVE_MAP', 'MegaConfig', 'MegaOnnxConfig'],
}

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   UpperCAmelCase_				:			Optional[Any]   =	[
       'MEGA_PRETRAINED_MODEL_ARCHIVE_LIST',
       'MegaForCausalLM',
       'MegaForMaskedLM',
       'MegaForMultipleChoice',
       'MegaForQuestionAnswering',
       'MegaForSequenceClassification',
       'MegaForTokenClassification',
       'MegaModel',
       'MegaPreTrainedModel',
   ]

if TYPE_CHECKING:
   from .configuration_mega import MEGA_PRETRAINED_CONFIG_ARCHIVE_MAP, MegaConfig, MegaOnnxConfig

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_mega import (
          MEGA_PRETRAINED_MODEL_ARCHIVE_LIST,
          MegaForCausalLM,
          MegaForMaskedLM,
          MegaForMultipleChoice,
          MegaForQuestionAnswering,
          MegaForSequenceClassification,
          MegaForTokenClassification,
          MegaModel,
          MegaPreTrainedModel,
      )

else:
   import sys

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






def 	SCREAMING_SNAKE_CASE_						(      __A			:      int  ,   __A			:      int    )     ->		int:

       """simple docstring"""

       while b:
              a_							,		a_ :		int							=  b, a % b
       return a







def 	SCREAMING_SNAKE_CASE_						(      __A			:      int  ,   __A			:      int    )     ->		int:

       """simple docstring"""

       return a if b == 0 else euclidean_gcd_recursive(__A  ,   a % b    )







def 	SCREAMING_SNAKE_CASE_						(      )     ->		str:

       """simple docstring"""

       print(F"""euclidean_gcd(3, 5) = {euclidean_gcd(3  ,   5    )}"""    )
       print(F"""euclidean_gcd(5, 3) = {euclidean_gcd(5  ,   3    )}"""    )
       print(F"""euclidean_gcd(1, 3) = {euclidean_gcd(1  ,   3    )}"""    )
       print(F"""euclidean_gcd(3, 6) = {euclidean_gcd(3  ,   6    )}"""    )
       print(F"""euclidean_gcd(6, 3) = {euclidean_gcd(6  ,   3    )}"""    )

       print(F"""euclidean_gcd_recursive(3, 5) = {euclidean_gcd_recursive(3  ,   5    )}"""    )
       print(F"""euclidean_gcd_recursive(5, 3) = {euclidean_gcd_recursive(5  ,   3    )}"""    )
       print(F"""euclidean_gcd_recursive(1, 3) = {euclidean_gcd_recursive(1  ,   3    )}"""    )
       print(F"""euclidean_gcd_recursive(3, 6) = {euclidean_gcd_recursive(3  ,   6    )}"""    )
       print(F"""euclidean_gcd_recursive(6, 3) = {euclidean_gcd_recursive(6  ,   3    )}"""    )


if __name__ == "__main__":
   main()


