

'''simple docstring'''

def 				UpperCamelCase(					UpperCAmelCase_  ,	UpperCAmelCase_     ):
 return x if y == 0 else greatest_common_divisor(__SCREAMING_SNAKE_CASE  ,	x % y     )




def 				UpperCamelCase(					UpperCAmelCase_  ,	UpperCAmelCase_     ):
 return (x * y) // greatest_common_divisor(__SCREAMING_SNAKE_CASE  ,	__SCREAMING_SNAKE_CASE     )




def 				UpperCamelCase(					UpperCAmelCase_ = 20     ):
 UpperCAmelCase	:     List[str]						 =			1
 for i in range(1  ,	n + 1     ):
  UpperCAmelCase	:     List[str]						 =			lcm(__SCREAMING_SNAKE_CASE  ,	__SCREAMING_SNAKE_CASE     )
 return g


if __name__ == "__main__":
 print(f'''{solution() = }''')







'''simple docstring'''

def 				UpperCamelCase(					UpperCAmelCase_  ,	UpperCAmelCase_     ):
 while a != 0:
  UpperCAmelCase ,			UpperCAmelCase	:     Tuple						 =			b % a, a
 return b




def 				UpperCamelCase(					UpperCAmelCase_  ,	UpperCAmelCase_     ):
 if gcd(UpperCAmelCase_  ,	UpperCAmelCase_     ) != 1:
  UpperCAmelCase	:     List[str]						 =			F"""mod inverse of {a!r} and {m!r} does not exist"""
  raise ValueError(UpperCAmelCase_     )
 UpperCAmelCase ,			UpperCAmelCase ,			UpperCAmelCase	:     Any						 =			1, 0, a
 UpperCAmelCase ,			UpperCAmelCase ,			UpperCAmelCase	:     Dict						 =			0, 1, m
 while va != 0:
  UpperCAmelCase	:     Tuple						 =			ua // va
  UpperCAmelCase ,			UpperCAmelCase ,			UpperCAmelCase ,			UpperCAmelCase ,			UpperCAmelCase ,			UpperCAmelCase	:     List[Any]						 =			(ua - q * va), (ua - q * va), (ua - q * va), va, va, va
 return ua % m




