
'''simple docstring'''





def        _SCREAMING_SNAKE_CASE  (	UpperCamelCase							,   UpperCamelCase      ):



    """simple docstring"""





    while b:
        lowerCAmelCase__			:  Tuple											= b, a % b
    return a
def        _SCREAMING_SNAKE_CASE  (	UpperCamelCase							,   UpperCamelCase      ):



    """simple docstring"""





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



    """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()







'''simple docstring'''





import copy
from dataclasses import dataclass
from pathlib import Path
from typing import Dict, Optional, Union






@dataclass
class 	lowerCAmelCase_:
  '''simple docstring'''




  __lowercase							:				Optional[Union[str, Path]]           =				None
  __lowercase							:				bool           =				False
  __lowercase							:				bool           =				False
  __lowercase							:				bool           =				False
  __lowercase							:				Optional[Dict]           =				None
  __lowercase							:				Optional[str]           =				None
  __lowercase							:				bool           =				False
  __lowercase							:				bool           =				False
  __lowercase							:				bool           =				False
  __lowercase							:				bool           =				True
  __lowercase							:				Optional[int]           =				None
  __lowercase							:				int           =				1
  __lowercase							:				Optional[Union[str, bool]]           =				None
  __lowercase							:				bool           =				False
  __lowercase							:				Optional[Dict]           =				None
  __lowercase							:				Optional[str]           =				None




  def 							UpperCAmelCase_     (   self				)   ->		"DownloadConfig":
      return self.__class__(**{k: copy.deepcopy(__UpperCAmelCase				) for k, v in self.__dict__.items()}				)


