



'''simple docstring'''

from __future__ import annotations

from collections.abc import Generator



def   __lowerCamelCase  (   lowerCAmelCase_						)    ->   Generator[int, None, None]:
		if not isinstance(lowerCAmelCase_		,    lowerCAmelCase_						) or n < 1:
				raise Exception('Sequence only defined for positive integers'						)

		yield n
		while n != 1:
				if n % 2 == 0:
						n //= 2
				else:
						_a  :   Union[str, Any]				 =							3 * n + 1
				yield n



def   __lowerCamelCase  (   )    ->   List[Any]:
		_a  :   str				 =							43
		_a  :   Union[str, Any]				 =							tuple(collatz_sequence(lowerCAmelCase_						)						)
		print(lowerCAmelCase_						)
		print(f"""Collatz sequence from {n} took {len(lowerCAmelCase_						)} steps."""						)


if __name__ == "__main__":
							main()









'''simple docstring'''

from __future__ import annotations

# Define the Gravitational Constant G and the function
__lowerCAmelCase		    =     6.6743e-11  # unit of G : m^3 * kg^-1 * s^-2



def   __lowerCamelCase  (   lowerCAmelCase_		,    lowerCAmelCase_		,    lowerCAmelCase_		,    lowerCAmelCase_						)    ->   dict[str, float]:
		_a  :   str				 =							mass_a * mass_a

		if (force, mass_a, mass_a, distance).count(0						) != 1:
				raise ValueError('One and only one argument must be 0'						)
		if force < 0:
				raise ValueError('Gravitational force can not be negative'						)
		if distance < 0:
				raise ValueError('Distance can not be negative'						)
		if mass_a < 0 or mass_a < 0:
				raise ValueError('Mass can not be negative'						)
		if force == 0:
				_a  :   List[Any]				 =							GRAVITATIONAL_CONSTANT * product_of_mass / (distance**2)
				return {"force": force}
		elif mass_a == 0:
				_a  :   Any				 =							(force) * (distance**2) / (GRAVITATIONAL_CONSTANT * mass_a)
				return {"mass_1": mass_a}
		elif mass_a == 0:
				_a  :   Tuple				 =							(force) * (distance**2) / (GRAVITATIONAL_CONSTANT * mass_a)
				return {"mass_2": mass_a}
		elif distance == 0:
				_a  :   str				 =							(GRAVITATIONAL_CONSTANT * product_of_mass / (force)) ** 0.5
				return {"distance": distance}
		raise ValueError('One and only one argument must be 0'						)


# Run doctest
if __name__ == "__main__":
							import doctest

							doctest.testmod()




