



from __future__ import annotations

# Define the Gravitational Constant G and the function
UpperCAmelCase_          =				6.6743E-11  # unit of G : m^3 * kg^-1 * s^-2
def 				UpperCAmelCase__		(					_SCREAMING_SNAKE_CASE :						float  ,					_SCREAMING_SNAKE_CASE :						float  ,					_SCREAMING_SNAKE_CASE :						float  ,					_SCREAMING_SNAKE_CASE :						float					)->dict[str, float]:
      _lowerCAmelCase			      =	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:
            _lowerCAmelCase			      =	GRAVITATIONAL_CONSTANT * product_of_mass / (distance**2)
            return {"force": force}
      elif mass_a == 0:
            _lowerCAmelCase			      =	(force) * (distance**2) / (GRAVITATIONAL_CONSTANT * mass_a)
            return {"mass_1": mass_a}
      elif mass_a == 0:
            _lowerCAmelCase			      =	(force) * (distance**2) / (GRAVITATIONAL_CONSTANT * mass_a)
            return {"mass_2": mass_a}
      elif distance == 0:
            _lowerCAmelCase			      =	(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()




import math
def 				UpperCAmelCase__		(					_SCREAMING_SNAKE_CASE :						int					)->bool:

      if 1 < number < 4:
            # 2 and 3 are primes
            return True
      elif number < 2 or number % 2 == 0 or number % 3 == 0:
            # Negatives, 0, 1, all even numbers, all multiples of 3 are not primes
            return False

      # All primes number are in format of 6k +/- 1
      for i in range(5  ,					int(math.sqrt(_SCREAMING_SNAKE_CASE					) + 1					)  ,					6					):
            if number % i == 0 or number % (i + 2) == 0:
                  return False
      return True
def 				UpperCAmelCase__		(					_SCREAMING_SNAKE_CASE :						int = 6_0_0_8_5_1_4_7_5_1_4_3					)->int:

      try:
            _lowerCAmelCase			      =	int(_SCREAMING_SNAKE_CASE					)
      except (TypeError, ValueError):
            raise TypeError('''Parameter n must be int or castable to int.'''					)
      if n <= 0:
            raise ValueError('''Parameter n must be greater than or equal to one.'''					)
      _lowerCAmelCase			      =	0
      if is_prime(_SCREAMING_SNAKE_CASE					):
            return n
      while n % 2 == 0:
            n //= 2
      if is_prime(_SCREAMING_SNAKE_CASE					):
            return n
      for i in range(3  ,					int(math.sqrt(_SCREAMING_SNAKE_CASE					)					) + 1  ,					2					):
            if n % i == 0:
                  if is_prime(n // i					):
                        _lowerCAmelCase			      =	n // i
                        break
                  elif is_prime(_SCREAMING_SNAKE_CASE					):
                        _lowerCAmelCase			      =	i
      return max_number


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