
from __future__ import annotations

# Define the Gravitational Constant G and the function
_lowerCamelCase           =6.6_7_4_3E-1_1  # unit of G : m^3 * kg^-1 * s^-2





def 					_a      (		lowerCamelCase,			lowerCamelCase,			lowerCamelCase,			lowerCamelCase							):
 lowerCamelCase	:			Optional[int]           =   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	:			str           =   GRAVITATIONAL_CONSTANT * product_of_mass / (distance**2)
  return {"force": force}
 elif mass_a == 0:
  lowerCamelCase	:			Tuple           =   (force) * (distance**2) / (GRAVITATIONAL_CONSTANT * mass_a)
  return {"mass_1": mass_a}
 elif mass_a == 0:
  lowerCamelCase	:			List[str]           =   (force) * (distance**2) / (GRAVITATIONAL_CONSTANT * mass_a)
  return {"mass_2": mass_a}
 elif distance == 0:
  lowerCamelCase	:			Union[str, Any]           =   (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()



def 					_a      (		lowerCamelCase,			lowerCamelCase							):
 lowerCamelCase	:			Optional[Any]           =   float()
 try:
  lowerCamelCase	:			Tuple           =   mass * acceleration
 except Exception:
  return -0.0
 return force


if __name__ == "__main__":
      import doctest

      # run doctest
      doctest.testmod()

      # demo
      _lowerCamelCase           =12.5
      _lowerCamelCase           =1_0
      _lowerCamelCase           =newtons_second_law_of_motion(mass, acceleration)
      print("""The force is """, force, """N""")




