



from typing import TYPE_CHECKING

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


SCREAMING_SNAKE_CASE__   			=   {'''configuration_dpt''': ['''DPT_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''DPTConfig''']}

try:
							if not is_vision_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							SCREAMING_SNAKE_CASE__   			=   ['''DPTFeatureExtractor''']
							SCREAMING_SNAKE_CASE__   			=   ['''DPTImageProcessor''']

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							SCREAMING_SNAKE_CASE__   			=   [
							    '''DPT_PRETRAINED_MODEL_ARCHIVE_LIST''',
							    '''DPTForDepthEstimation''',
							    '''DPTForSemanticSegmentation''',
							    '''DPTModel''',
							    '''DPTPreTrainedModel''',
							]


if TYPE_CHECKING:
							from .configuration_dpt import DPT_PRETRAINED_CONFIG_ARCHIVE_MAP, DPTConfig

							try:
														if not is_vision_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .feature_extraction_dpt import DPTFeatureExtractor
														from .image_processing_dpt import DPTImageProcessor

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_dpt import (
														    DPT_PRETRAINED_MODEL_ARCHIVE_LIST,
														    DPTForDepthEstimation,
														    DPTForSemanticSegmentation,
														    DPTModel,
														    DPTPreTrainedModel,
														)


else:
							import sys

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









def A    (							__UpperCamelCase			,						__UpperCamelCase			,						__UpperCamelCase       )    ->   int:

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


def A    (							__UpperCamelCase = 1_777			,						__UpperCamelCase = 1_855			,						__UpperCamelCase = 8       )    ->   int:
			A__	  =     base
			for _ in range(1			,						__UpperCamelCase       ):
						A__	  =     _modexpt(__UpperCamelCase			,						__UpperCamelCase			,						10**digits       )

			return result


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




