
"""simple docstring"""



from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tokenizers_available, is_torch_available


UpperCAmelCase__        =					{
    """configuration_mvp""": ["""MVP_PRETRAINED_CONFIG_ARCHIVE_MAP""", """MvpConfig""", """MvpOnnxConfig"""],
    """tokenization_mvp""": ["""MvpTokenizer"""],
}

try:
 if not is_tokenizers_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 UpperCAmelCase__        =					["""MvpTokenizerFast"""]

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 UpperCAmelCase__        =					[
     """MVP_PRETRAINED_MODEL_ARCHIVE_LIST""",
     """MvpForCausalLM""",
     """MvpForConditionalGeneration""",
     """MvpForQuestionAnswering""",
     """MvpForSequenceClassification""",
     """MvpModel""",
     """MvpPreTrainedModel""",
 ]

if TYPE_CHECKING:
 from .configuration_mvp import MVP_PRETRAINED_CONFIG_ARCHIVE_MAP, MvpConfig, MvpOnnxConfig
 from .tokenization_mvp import MvpTokenizer

 try:
  if not is_tokenizers_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .tokenization_mvp_fast import MvpTokenizerFast

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_mvp import (
      MVP_PRETRAINED_MODEL_ARCHIVE_LIST,
      MvpForCausalLM,
      MvpForConditionalGeneration,
      MvpForQuestionAnswering,
      MvpForSequenceClassification,
      MvpModel,
      MvpPreTrainedModel,
  )

else:
 import sys

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






def 			lowerCAmelCase(      SCREAMING_SNAKE_CASE_			,						SCREAMING_SNAKE_CASE_			,						SCREAMING_SNAKE_CASE_			)->						int:



    """simple docstring"""






    if exponent == 1:
        return base
    if exponent % 2 == 0:
        UpperCamelCase_			  =						_modexpt(SCREAMING_SNAKE_CASE_			,						exponent // 2			,						SCREAMING_SNAKE_CASE_			) % modulo_value
        return (x * x) % modulo_value
    else:
        return (base * _modexpt(SCREAMING_SNAKE_CASE_			,						exponent - 1			,						SCREAMING_SNAKE_CASE_			)) % modulo_value




def 			lowerCAmelCase(      SCREAMING_SNAKE_CASE_ = 1_7_7_7			,						SCREAMING_SNAKE_CASE_ = 1_8_5_5			,						SCREAMING_SNAKE_CASE_ = 8			)->						int:



    """simple docstring"""






    UpperCamelCase_			  =						base
    for _ in range(1			,						SCREAMING_SNAKE_CASE_			):
        UpperCamelCase_			  =						_modexpt(SCREAMING_SNAKE_CASE_			,						SCREAMING_SNAKE_CASE_			,						1_0**digits			)

    return result


if __name__ == "__main__":
 print(F'''{solution() = }''')
