'''simple docstring'''






from functools import lru_cache





@lru_cache
def    _SCREAMING_SNAKE_CASE		(			__snake_case       : int							):
     if not isinstance(__snake_case      ,		__snake_case							):
          raise TypeError('k must be an integer.'							)
     if k < 0:
          raise ValueError('k integer must be greater or equal to zero.'							)
     if k == 0:
          return 0
     elif k == 1:
          return 1
     else:
          return fibonacci(k - 1							) + fibonacci(k - 2							)





def    _SCREAMING_SNAKE_CASE		(			__snake_case       : list      ,		__snake_case       : int							):
     _A								=     len(__snake_case							)
     # Find m such that F_m >= n where F_i is the i_th fibonacci number.
     _A								=     0
     while True:
          if fibonacci(__snake_case							) >= len_list:
               _A								=     i
               break
          i += 1
     _A								=     0
     while fibb_k > 0:
          _A								=     min(
              offset + fibonacci(fibb_k - 1							)      ,		len_list - 1							)  # Prevent out of range
          _A								=     arr[index_k]
          if item_k_1 == val:
               return index_k
          elif val < item_k_1:
               fibb_k -= 1
          elif val > item_k_1:
               offset += fibonacci(fibb_k - 1							)
               fibb_k -= 2
     else:
          return -1


if __name__ == "__main__":
   import doctest

   doctest.testmod()




'''simple docstring'''






from typing import TYPE_CHECKING

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


_UpperCAmelCase						:    Optional[Any]     					=					{
    '''configuration_unispeech_sat''': ['''UNISPEECH_SAT_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''UniSpeechSatConfig'''],
}

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _UpperCAmelCase						:    Dict     					=					[
       '''UNISPEECH_SAT_PRETRAINED_MODEL_ARCHIVE_LIST''',
       '''UniSpeechSatForAudioFrameClassification''',
       '''UniSpeechSatForCTC''',
       '''UniSpeechSatForPreTraining''',
       '''UniSpeechSatForSequenceClassification''',
       '''UniSpeechSatForXVector''',
       '''UniSpeechSatModel''',
       '''UniSpeechSatPreTrainedModel''',
   ]

if TYPE_CHECKING:
   from .configuration_unispeech_sat import UNISPEECH_SAT_PRETRAINED_CONFIG_ARCHIVE_MAP, UniSpeechSatConfig

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_unispeech_sat import (
          UNISPEECH_SAT_PRETRAINED_MODEL_ARCHIVE_LIST,
          UniSpeechSatForAudioFrameClassification,
          UniSpeechSatForCTC,
          UniSpeechSatForPreTraining,
          UniSpeechSatForSequenceClassification,
          UniSpeechSatForXVector,
          UniSpeechSatModel,
          UniSpeechSatPreTrainedModel,
      )

else:
   import sys

   _UpperCAmelCase						:    int     					=					_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)



