from __future__ import annotations

import sys


def SCREAMING_SNAKE_CASE			(       lowercase_:		int						,  lowercase_:		int			):
       # base cases
       if abs(lowercase_			) == 1:
              return a, 0
       elif abs(lowercase_			) == 1:
              return 0, b

       _UpperCamelCase  , _UpperCamelCase       :    str					  =					a, b
       _UpperCamelCase  , _UpperCamelCase       :    Union[str, Any]					  =					1, 0
       _UpperCamelCase  , _UpperCamelCase       :    List[Any]					  =					0, 1

       while remainder != 0:
              _UpperCamelCase       :    List[str]					  =					old_remainder // remainder
              _UpperCamelCase  , _UpperCamelCase       :    Dict					  =					remainder, old_remainder - quotient * remainder
              _UpperCamelCase  , _UpperCamelCase       :    Any					  =					coeff_a, old_coeff_a - quotient * coeff_a
              _UpperCamelCase  , _UpperCamelCase       :    List[str]					  =					coeff_b, old_coeff_b - quotient * coeff_b

       # sign correction for negative numbers
       if a < 0:
              _UpperCamelCase       :    List[str]					  =					-old_coeff_a
       if b < 0:
              _UpperCamelCase       :    Optional[int]					  =					-old_coeff_b

       return old_coeff_a, old_coeff_b


def SCREAMING_SNAKE_CASE			(       ):
       if len(sys.argv			) < 3:
              print('2 integer arguments required'			)
              return 1
       _UpperCamelCase       :    Optional[Any]					  =					int(sys.argv[1]			)
       _UpperCamelCase       :    Union[str, Any]					  =					int(sys.argv[2]			)
       print(extended_euclidean_algorithm(lowercase_						,  lowercase_			)			)
       return 0


if __name__ == "__main__":
 raise SystemExit(main())




from typing import TYPE_CHECKING

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


UpperCAmelCase     						=			{
    '''configuration_mpnet''': ['''MPNET_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''MPNetConfig'''],
    '''tokenization_mpnet''': ['''MPNetTokenizer'''],
}

try:
 if not is_tokenizers_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 UpperCAmelCase     						=			['''MPNetTokenizerFast''']

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 UpperCAmelCase     						=			[
     '''MPNET_PRETRAINED_MODEL_ARCHIVE_LIST''',
     '''MPNetForMaskedLM''',
     '''MPNetForMultipleChoice''',
     '''MPNetForQuestionAnswering''',
     '''MPNetForSequenceClassification''',
     '''MPNetForTokenClassification''',
     '''MPNetLayer''',
     '''MPNetModel''',
     '''MPNetPreTrainedModel''',
 ]

try:
 if not is_tf_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 UpperCAmelCase     						=			[
     '''TF_MPNET_PRETRAINED_MODEL_ARCHIVE_LIST''',
     '''TFMPNetEmbeddings''',
     '''TFMPNetForMaskedLM''',
     '''TFMPNetForMultipleChoice''',
     '''TFMPNetForQuestionAnswering''',
     '''TFMPNetForSequenceClassification''',
     '''TFMPNetForTokenClassification''',
     '''TFMPNetMainLayer''',
     '''TFMPNetModel''',
     '''TFMPNetPreTrainedModel''',
 ]


if TYPE_CHECKING:
 from .configuration_mpnet import MPNET_PRETRAINED_CONFIG_ARCHIVE_MAP, MPNetConfig
 from .tokenization_mpnet import MPNetTokenizer

 try:
  if not is_tokenizers_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .tokenization_mpnet_fast import MPNetTokenizerFast

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_mpnet import (
      MPNET_PRETRAINED_MODEL_ARCHIVE_LIST,
      MPNetForMaskedLM,
      MPNetForMultipleChoice,
      MPNetForQuestionAnswering,
      MPNetForSequenceClassification,
      MPNetForTokenClassification,
      MPNetLayer,
      MPNetModel,
      MPNetPreTrainedModel,
  )

 try:
  if not is_tf_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_tf_mpnet import (
      TF_MPNET_PRETRAINED_MODEL_ARCHIVE_LIST,
      TFMPNetEmbeddings,
      TFMPNetForMaskedLM,
      TFMPNetForMultipleChoice,
      TFMPNetForQuestionAnswering,
      TFMPNetForSequenceClassification,
      TFMPNetForTokenClassification,
      TFMPNetMainLayer,
      TFMPNetModel,
      TFMPNetPreTrainedModel,
  )

else:
 import sys

 UpperCAmelCase     						=			_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)



