code: 
  
  from __future__ import annotations
  
  # Define the Gravitational Constant G and the function
  UpperCAmelCase_       :				Any		   =      6.6743e-11  # unit of G : m^3 * kg^-1 * s^-2
  def        __SCREAMING_SNAKE_CASE    (      a__						:      float ,a__						:      float ,a__						:      float ,a__						:      float					)				->							Union[str, Any]:
  	__A   : List[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   : Dict								= GRAVITATIONAL_CONSTANT * product_of_mass / (distance**2)
  		return {"force": force}
  	elif mass_a == 0:
  		__A   : int								= (force) * (distance**2) / (GRAVITATIONAL_CONSTANT * mass_a)
  		return {"mass_1": mass_a}
  	elif mass_a == 0:
  		__A   : Dict								= (force) * (distance**2) / (GRAVITATIONAL_CONSTANT * mass_a)
  		return {"mass_2": mass_a}
  	elif distance == 0:
  		__A   : Optional[int]								= (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()
  
  
  
  
  
  
style_context: 
  
  from typing import TYPE_CHECKING
  
  from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available
  
  
  UpperCAmelCase_       :				Optional[Any]		   =      {
      '''configuration_prophetnet''': ['''PROPHETNET_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''ProphetNetConfig'''],
      '''tokenization_prophetnet''': ['''ProphetNetTokenizer'''],
  }
  
  try:
  			if not is_torch_available():
  						raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
  			pass
  else:
  			UpperCAmelCase_       :				List[str]		   =      [
  			    '''PROPHETNET_PRETRAINED_MODEL_ARCHIVE_LIST''',
  			    '''ProphetNetDecoder''',
  			    '''ProphetNetEncoder''',
  			    '''ProphetNetForCausalLM''',
  			    '''ProphetNetForConditionalGeneration''',
  			    '''ProphetNetModel''',
  			    '''ProphetNetPreTrainedModel''',
  			]
  
  
  if TYPE_CHECKING:
  			from .configuration_prophetnet import PROPHETNET_PRETRAINED_CONFIG_ARCHIVE_MAP, ProphetNetConfig
  			from .tokenization_prophetnet import ProphetNetTokenizer
  
  			try:
  						if not is_torch_available():
  									raise OptionalDependencyNotAvailable()
  			except OptionalDependencyNotAvailable:
  						pass
  			else:
  						from .modeling_prophetnet import (
  						    PROPHETNET_PRETRAINED_MODEL_ARCHIVE_LIST,
  						    ProphetNetDecoder,
  						    ProphetNetEncoder,
  						    ProphetNetForCausalLM,
  						    ProphetNetForConditionalGeneration,
  						    ProphetNetModel,
  						    ProphetNetPreTrainedModel,
  						)
  
  else:
  			import sys
  
  			UpperCAmelCase_       :				Any		   =      _LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)
  
  
  
  
  
  