"""simple docstring"""







from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_sentencepiece_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


_SCREAMING_SNAKE_CASE	:		Optional[Any]   =   {
    '''configuration_big_bird''': ['''BIG_BIRD_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''BigBirdConfig''', '''BigBirdOnnxConfig'''],
}

try:
     if not is_sentencepiece_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     _SCREAMING_SNAKE_CASE	:		Dict   =   ['''BigBirdTokenizer''']

try:
     if not is_tokenizers_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     _SCREAMING_SNAKE_CASE	:		List[str]   =   ['''BigBirdTokenizerFast''']

try:
     if not is_torch_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     _SCREAMING_SNAKE_CASE	:		Union[str, Any]   =   [
         '''BIG_BIRD_PRETRAINED_MODEL_ARCHIVE_LIST''',
         '''BigBirdForCausalLM''',
         '''BigBirdForMaskedLM''',
         '''BigBirdForMultipleChoice''',
         '''BigBirdForPreTraining''',
         '''BigBirdForQuestionAnswering''',
         '''BigBirdForSequenceClassification''',
         '''BigBirdForTokenClassification''',
         '''BigBirdLayer''',
         '''BigBirdModel''',
         '''BigBirdPreTrainedModel''',
         '''load_tf_weights_in_big_bird''',
     ]

try:
     if not is_flax_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     _SCREAMING_SNAKE_CASE	:		Any   =   [
         '''FlaxBigBirdForCausalLM''',
         '''FlaxBigBirdForMaskedLM''',
         '''FlaxBigBirdForMultipleChoice''',
         '''FlaxBigBirdForPreTraining''',
         '''FlaxBigBirdForQuestionAnswering''',
         '''FlaxBigBirdForSequenceClassification''',
         '''FlaxBigBirdForTokenClassification''',
         '''FlaxBigBirdModel''',
         '''FlaxBigBirdPreTrainedModel''',
     ]

if TYPE_CHECKING:
     from .configuration_big_bird import BIG_BIRD_PRETRAINED_CONFIG_ARCHIVE_MAP, BigBirdConfig, BigBirdOnnxConfig

     try:
          if not is_sentencepiece_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .tokenization_big_bird import BigBirdTokenizer

     try:
          if not is_tokenizers_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .tokenization_big_bird_fast import BigBirdTokenizerFast

     try:
          if not is_torch_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_big_bird import (
              BIG_BIRD_PRETRAINED_MODEL_ARCHIVE_LIST,
              BigBirdForCausalLM,
              BigBirdForMaskedLM,
              BigBirdForMultipleChoice,
              BigBirdForPreTraining,
              BigBirdForQuestionAnswering,
              BigBirdForSequenceClassification,
              BigBirdForTokenClassification,
              BigBirdLayer,
              BigBirdModel,
              BigBirdPreTrainedModel,
              load_tf_weights_in_big_bird,
          )

     try:
          if not is_flax_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_flax_big_bird import (
              FlaxBigBirdForCausalLM,
              FlaxBigBirdForMaskedLM,
              FlaxBigBirdForMultipleChoice,
              FlaxBigBirdForPreTraining,
              FlaxBigBirdForQuestionAnswering,
              FlaxBigBirdForSequenceClassification,
              FlaxBigBirdForTokenClassification,
              FlaxBigBirdModel,
              FlaxBigBirdPreTrainedModel,
          )

else:
     import sys

     _SCREAMING_SNAKE_CASE	:		str   =   _LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)











from __future__ import annotations

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





def 		__snake_case						(    _UpperCAmelCase       ,			_UpperCAmelCase       ,			_UpperCAmelCase       ,			_UpperCAmelCase				):
					"""simple docstring"""






					lowercase						   =       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:
										lowercase						   =       GRAVITATIONAL_CONSTANT * product_of_mass / (distance**2)
										return {"force": force}
					elif mass_a == 0:
										lowercase						   =       (force) * (distance**2) / (GRAVITATIONAL_CONSTANT * mass_a)
										return {"mass_1": mass_a}
					elif mass_a == 0:
										lowercase						   =       (force) * (distance**2) / (GRAVITATIONAL_CONSTANT * mass_a)
										return {"mass_2": mass_a}
					elif distance == 0:
										lowercase						   =       (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()






