


from __future__ import annotations



def 			_lowerCAmelCase						(							lowerCAmelCase_							:int		,						lowerCAmelCase_							:int		,						lowerCAmelCase_							:int							)->tuple[float, float]:
   '''simple docstring'''






   assert (
       c % greatest_common_divisor(lowerCAmelCase_		,						lowerCAmelCase_							) == 0
   )  # greatest_common_divisor(a,b) function implemented below
   ((snake_case_)    ,    (snake_case_)    ,    (snake_case_))					    =					extended_gcd(lowerCAmelCase_		,						lowerCAmelCase_							)  # extended_gcd(a,b) function implemented below
   snake_case_					    =					c / d
   return (r * x, r * y)



def 			_lowerCAmelCase						(							lowerCAmelCase_							:int		,						lowerCAmelCase_							:int		,						lowerCAmelCase_							:int		,						lowerCAmelCase_							:int = 2							)->None:
   '''simple docstring'''






   ((snake_case_)    ,    (snake_case_))					    =					diophantine(lowerCAmelCase_		,						lowerCAmelCase_		,						lowerCAmelCase_							)  # Initial value
   snake_case_					    =					greatest_common_divisor(lowerCAmelCase_		,						lowerCAmelCase_							)
   snake_case_					    =					a // d
   snake_case_					    =					b // d

   for i in range(lowerCAmelCase_							):
      snake_case_					    =					xa + i * q
      snake_case_					    =					ya - i * p
      print(lowerCAmelCase_		,						lowerCAmelCase_							)



def 			_lowerCAmelCase						(							lowerCAmelCase_							:int		,						lowerCAmelCase_							:int							)->int:
   '''simple docstring'''






   if a < b:
      snake_case_    ,    snake_case_					    =					b, a

   while a % b != 0:
      snake_case_    ,    snake_case_					    =					b, a % b

   return b



def 			_lowerCAmelCase						(							lowerCAmelCase_							:int		,						lowerCAmelCase_							:int							)->tuple[int, int, int]:
   '''simple docstring'''






   assert a >= 0 and b >= 0

   if b == 0:
      snake_case_    ,    snake_case_    ,    snake_case_					    =					a, 1, 0
   else:
      ((snake_case_)    ,    (snake_case_)    ,    (snake_case_))					    =					extended_gcd(lowerCAmelCase_		,						a % b							)
      snake_case_					    =					q
      snake_case_					    =					p - q * (a // b)

   assert a % d == 0 and b % d == 0
   assert d == a * x + b * y

   return (d, x, y)


if __name__ == "__main__":
 from doctest import testmod

 testmod(name='''diophantine''', verbose=True)
 testmod(name='''diophantine_all_soln''', verbose=True)
 testmod(name='''extended_gcd''', verbose=True)
 testmod(name='''greatest_common_divisor''', verbose=True)








from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_sentencepiece_available,
    is_speech_available,
    is_torch_available,
)


SCREAMING_SNAKE_CASE	:List[Any]  		=     {
    '''configuration_speech_to_text_2''': ['''SPEECH_TO_TEXT_2_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''Speech2Text2Config'''],
    '''processing_speech_to_text_2''': ['''Speech2Text2Processor'''],
    '''tokenization_speech_to_text_2''': ['''Speech2Text2Tokenizer'''],
}


try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   SCREAMING_SNAKE_CASE	:int  		=     [
       '''SPEECH_TO_TEXT_2_PRETRAINED_MODEL_ARCHIVE_LIST''',
       '''Speech2Text2ForCausalLM''',
       '''Speech2Text2PreTrainedModel''',
   ]


if TYPE_CHECKING:
   from .configuration_speech_to_text_a import SPEECH_TO_TEXT_2_PRETRAINED_CONFIG_ARCHIVE_MAP, SpeechaTextaConfig
   from .processing_speech_to_text_a import SpeechaTextaProcessor
   from .tokenization_speech_to_text_a import SpeechaTextaTokenizer

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_speech_to_text_a import (
          SPEECH_TO_TEXT_2_PRETRAINED_MODEL_ARCHIVE_LIST,
          SpeechaTextaForCausalLM,
          SpeechaTextaPreTrainedModel,
      )

else:
   import sys

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




