



def   __snake_case			(    _UpperCAmelCase     ,				_UpperCAmelCase       ):
    while b:
        __a ,     __a		 =       b, a % b
    return a





def   __snake_case			(    _UpperCAmelCase     ,				_UpperCAmelCase       ):
    return a if b == 0 else euclidean_gcd_recursive(_UpperCAmelCase     ,				a % b       )





def   __snake_case			(    ):
    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()










from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_tf_available,
    is_torch_available,
    is_vision_available,
)


__snake_case		:Union[str, Any]   	=  {'''configuration_vit''': ['''VIT_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''ViTConfig''', '''ViTOnnxConfig''']}

try:
 if not is_vision_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 __snake_case		:List[str]   	=  ['''ViTFeatureExtractor''']
 __snake_case		:Optional[Any]   	=  ['''ViTImageProcessor''']

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 __snake_case		:str   	=  [
     '''VIT_PRETRAINED_MODEL_ARCHIVE_LIST''',
     '''ViTForImageClassification''',
     '''ViTForMaskedImageModeling''',
     '''ViTModel''',
     '''ViTPreTrainedModel''',
 ]

try:
 if not is_tf_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 __snake_case		:Tuple   	=  [
     '''TFViTForImageClassification''',
     '''TFViTModel''',
     '''TFViTPreTrainedModel''',
 ]

try:
 if not is_flax_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 __snake_case		:Tuple   	=  [
     '''FlaxViTForImageClassification''',
     '''FlaxViTModel''',
     '''FlaxViTPreTrainedModel''',
 ]

if TYPE_CHECKING:
 from .configuration_vit import VIT_PRETRAINED_CONFIG_ARCHIVE_MAP, ViTConfig, ViTOnnxConfig

 try:
  if not is_vision_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .feature_extraction_vit import ViTFeatureExtractor
  from .image_processing_vit import ViTImageProcessor

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_vit import (
      VIT_PRETRAINED_MODEL_ARCHIVE_LIST,
      ViTForImageClassification,
      ViTForMaskedImageModeling,
      ViTModel,
      ViTPreTrainedModel,
  )

 try:
  if not is_tf_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_tf_vit import TFViTForImageClassification, TFViTModel, TFViTPreTrainedModel

 try:
  if not is_flax_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_flax_vit import FlaxViTForImageClassification, FlaxViTModel, FlaxViTPreTrainedModel


else:
 import sys

 __snake_case		:Optional[int]   	=  _LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)





