code: 
  
  
  '''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__)
style_context: 
  
  
  '''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()