


'''simple docstring'''

from typing import TYPE_CHECKING

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


lowerCAmelCase   :Any								=    {
    '''configuration_dpr''': ['''DPR_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''DPRConfig'''],
    '''tokenization_dpr''': [
        '''DPRContextEncoderTokenizer''',
        '''DPRQuestionEncoderTokenizer''',
        '''DPRReaderOutput''',
        '''DPRReaderTokenizer''',
    ],
}


try:
							if not is_tokenizers_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowerCAmelCase   :Any								=    [
							    '''DPRContextEncoderTokenizerFast''',
							    '''DPRQuestionEncoderTokenizerFast''',
							    '''DPRReaderTokenizerFast''',
							]

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowerCAmelCase   :str								=    [
							    '''DPR_CONTEXT_ENCODER_PRETRAINED_MODEL_ARCHIVE_LIST''',
							    '''DPR_QUESTION_ENCODER_PRETRAINED_MODEL_ARCHIVE_LIST''',
							    '''DPR_READER_PRETRAINED_MODEL_ARCHIVE_LIST''',
							    '''DPRContextEncoder''',
							    '''DPRPretrainedContextEncoder''',
							    '''DPRPreTrainedModel''',
							    '''DPRPretrainedQuestionEncoder''',
							    '''DPRPretrainedReader''',
							    '''DPRQuestionEncoder''',
							    '''DPRReader''',
							]

try:
							if not is_tf_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowerCAmelCase   :Tuple								=    [
							    '''TF_DPR_CONTEXT_ENCODER_PRETRAINED_MODEL_ARCHIVE_LIST''',
							    '''TF_DPR_QUESTION_ENCODER_PRETRAINED_MODEL_ARCHIVE_LIST''',
							    '''TF_DPR_READER_PRETRAINED_MODEL_ARCHIVE_LIST''',
							    '''TFDPRContextEncoder''',
							    '''TFDPRPretrainedContextEncoder''',
							    '''TFDPRPretrainedQuestionEncoder''',
							    '''TFDPRPretrainedReader''',
							    '''TFDPRQuestionEncoder''',
							    '''TFDPRReader''',
							]


if TYPE_CHECKING:
							from .configuration_dpr import DPR_PRETRAINED_CONFIG_ARCHIVE_MAP, DPRConfig
							from .tokenization_dpr import (
							    DPRContextEncoderTokenizer,
							    DPRQuestionEncoderTokenizer,
							    DPRReaderOutput,
							    DPRReaderTokenizer,
							)

							try:
														if not is_tokenizers_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .tokenization_dpr_fast import (
														    DPRContextEncoderTokenizerFast,
														    DPRQuestionEncoderTokenizerFast,
														    DPRReaderTokenizerFast,
														)

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_dpr import (
														    DPR_CONTEXT_ENCODER_PRETRAINED_MODEL_ARCHIVE_LIST,
														    DPR_QUESTION_ENCODER_PRETRAINED_MODEL_ARCHIVE_LIST,
														    DPR_READER_PRETRAINED_MODEL_ARCHIVE_LIST,
														    DPRContextEncoder,
														    DPRPretrainedContextEncoder,
														    DPRPreTrainedModel,
														    DPRPretrainedQuestionEncoder,
														    DPRPretrainedReader,
														    DPRQuestionEncoder,
														    DPRReader,
														)

							try:
														if not is_tf_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_tf_dpr import (
														    TF_DPR_CONTEXT_ENCODER_PRETRAINED_MODEL_ARCHIVE_LIST,
														    TF_DPR_QUESTION_ENCODER_PRETRAINED_MODEL_ARCHIVE_LIST,
														    TF_DPR_READER_PRETRAINED_MODEL_ARCHIVE_LIST,
														    TFDPRContextEncoder,
														    TFDPRPretrainedContextEncoder,
														    TFDPRPretrainedQuestionEncoder,
														    TFDPRPretrainedReader,
														    TFDPRQuestionEncoder,
														    TFDPRReader,
														)

else:
							import sys

							lowerCAmelCase   :Tuple								=    _LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)



'''simple docstring'''

import math





def lowerCamelCase    (    lowerCAmelCase       :			int	):





	"""simple docstring"""







	if not isinstance(lowerCAmelCase	,	lowerCAmelCase	):
		__magic_name__ :					str  			=  f'Input value of [number={number}] must be an integer'
		raise TypeError(lowerCAmelCase	)
	if number < 1:
		__magic_name__ :					Tuple  			=  f'Input value of [number={number}] must be a positive integer'
		raise ValueError(lowerCAmelCase	)
	__magic_name__ :					Tuple  			=  [number]
	while number != 1:
		if number % 2 == 0:
			__magic_name__ :					Optional[int]  			=  math.floor(math.sqrt(lowerCAmelCase	)	)
		else:
			__magic_name__ :					Union[str, Any]  			=  math.floor(
			    math.sqrt(lowerCAmelCase	) * math.sqrt(lowerCAmelCase	) * math.sqrt(lowerCAmelCase	)	)
		sequence.append(lowerCAmelCase	)
	return sequence


if __name__ == "__main__":
							import doctest

							doctest.testmod()