from functools import lru_cache




def       _snake_case	(   lowerCAmelCase							:   Optional[Any]	):
		"""simple docstring"""







		SCREAMING_SNAKE_CASE_  :		List[Any]				      =    2
		SCREAMING_SNAKE_CASE_  :		str				      =    set()
		while i * i <= n:
				if n % i:
						i += 1
				else:
						n //= i
						factors.add(lowerCAmelCase	)
		if n > 1:
				factors.add(lowerCAmelCase	)
		return factors




@lru_cache
def       _snake_case	(   lowerCAmelCase							:   Optional[Any]	):
		"""simple docstring"""







		return len(unique_prime_factors(lowerCAmelCase	)	)




def       _snake_case	(   lowerCAmelCase							:   Union[str, Any]	):
		"""simple docstring"""







		return len(set(lowerCAmelCase	)	) in (0, 1)




def       _snake_case	(   lowerCAmelCase							:   Optional[Any]	):
		"""simple docstring"""







		SCREAMING_SNAKE_CASE_  :		Any				      =    2

		while True:
				# Increment each value of a generated range
				SCREAMING_SNAKE_CASE_  :		List[Any]				      =    [base + i for i in range(lowerCAmelCase	)]

				# Run elements through out unique_prime_factors function
				# Append our target number to the end.
				SCREAMING_SNAKE_CASE_  :		Dict				      =    [upf_len(lowerCAmelCase	) for x in group]
				checker.append(lowerCAmelCase	)

				# If all numbers in the list are equal, return the group variable.
				if equality(lowerCAmelCase	):
						return group

				# Increment our base variable by 1
				base += 1




def       _snake_case	(   lowerCAmelCase							:   str = 4	):
		"""simple docstring"""







		SCREAMING_SNAKE_CASE_  :		List[Any]				      =    run(lowerCAmelCase	)
		return results[0] if len(lowerCAmelCase	) else None


if __name__ == "__main__":
		print(solution())








'''simple docstring'''







def  SCREAMING_SNAKE_CASE_       (UpperCamelCase				,			UpperCamelCase      )      ->       int:
							return abs(UpperCamelCase      ) if a == 0 else greatest_common_divisor(b % a				,			UpperCamelCase      )





def  SCREAMING_SNAKE_CASE_       (UpperCamelCase				,			UpperCamelCase      )      ->       int:
							while y:  # --> when y=0 then loop will terminate and return x as final GCD.
														lowerCamelCase__  ,		lowerCamelCase__					:	Tuple         =       y, x % y
							return abs(UpperCamelCase      )





def  SCREAMING_SNAKE_CASE_       ()      ->       Tuple:
							try:
														lowerCamelCase__					:	Dict         =       input("""Enter two integers separated by comma (,): """      ).split(""","""      )
														lowerCamelCase__					:	Any         =       int(nums[0]      )
														lowerCamelCase__					:	Optional[Any]         =       int(nums[1]      )
														print(
														    f'''greatest_common_divisor({num_a}, {num_a}) = '''
														    f'''{greatest_common_divisor(UpperCamelCase				,			UpperCamelCase      )}'''      )
														print(f'''By iterative gcd({num_a}, {num_a}) = {gcd_by_iterative(UpperCamelCase				,			UpperCamelCase      )}'''      )
							except (IndexError, UnboundLocalError, ValueError):
														print("""Wrong input"""      )


if __name__ == "__main__":
			main()

