



from typing import TYPE_CHECKING

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


_lowercase     							=						{
    '''configuration_m2m_100''': ['''M2M_100_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''M2M100Config''', '''M2M100OnnxConfig'''],
    '''tokenization_m2m_100''': ['''M2M100Tokenizer'''],
}


try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				_lowercase     							=						[
				    '''M2M_100_PRETRAINED_MODEL_ARCHIVE_LIST''',
				    '''M2M100ForConditionalGeneration''',
				    '''M2M100Model''',
				    '''M2M100PreTrainedModel''',
				]


if TYPE_CHECKING:
				from .configuration_mam_aaa import M2M_100_PRETRAINED_CONFIG_ARCHIVE_MAP, MaMaaaConfig, MaMaaaOnnxConfig
				from .tokenization_mam_aaa import MaMaaaTokenizer

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_mam_aaa import (
								    M2M_100_PRETRAINED_MODEL_ARCHIVE_LIST,
								    MaMaaaForConditionalGeneration,
								    MaMaaaModel,
								    MaMaaaPreTrainedModel,
								)


else:
				import sys

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








def      _A				(UpperCamelCase		:      int      ,			UpperCamelCase		:      int )  ->int:



			'''simple docstring'''







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






def      _A				(UpperCamelCase		:      int      ,			UpperCamelCase		:      int )  ->int:



			'''simple docstring'''







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






def      _A				()  ->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()



