




def 			a   (_lowerCAmelCase     ):

							if not isinstance(_lowerCAmelCase  ,    _lowerCAmelCase     ):
														raise ValueError('''multiplicative_persistence() only accepts integral values'''     )
							if num < 0:
														raise ValueError('''multiplicative_persistence() does not accept negative values'''     )

							SCREAMING_SNAKE_CASE_   	=    0
							SCREAMING_SNAKE_CASE_   	=    str(_lowerCAmelCase     )

							while len(_lowerCAmelCase     ) != 1:
														SCREAMING_SNAKE_CASE_   	=    [int(_lowerCAmelCase     ) for i in num_string]

														SCREAMING_SNAKE_CASE_   	=    1
														for i in range(0  ,    len(_lowerCAmelCase     )     ):
																					total *= numbers[i]

														SCREAMING_SNAKE_CASE_   	=    str(_lowerCAmelCase     )

														steps += 1
							return steps

def 			a   (_lowerCAmelCase     ):

							if not isinstance(_lowerCAmelCase  ,    _lowerCAmelCase     ):
														raise ValueError('''additive_persistence() only accepts integral values'''     )
							if num < 0:
														raise ValueError('''additive_persistence() does not accept negative values'''     )

							SCREAMING_SNAKE_CASE_   	=    0
							SCREAMING_SNAKE_CASE_   	=    str(_lowerCAmelCase     )

							while len(_lowerCAmelCase     ) != 1:
														SCREAMING_SNAKE_CASE_   	=    [int(_lowerCAmelCase     ) for i in num_string]

														SCREAMING_SNAKE_CASE_   	=    0
														for i in range(0  ,    len(_lowerCAmelCase     )     ):
																					total += numbers[i]

														SCREAMING_SNAKE_CASE_   	=    str(_lowerCAmelCase     )

														steps += 1
							return steps


if __name__ == "__main__":
			import doctest

			doctest.testmod()








from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


__SCREAMING_SNAKE_CASE 						={
    """configuration_xlm_roberta_xl""": [
        """XLM_ROBERTA_XL_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """XLMRobertaXLConfig""",
        """XLMRobertaXLOnnxConfig""",
    ],
}

try:
			if not is_torch_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			__SCREAMING_SNAKE_CASE 						=[
			    """XLM_ROBERTA_XL_PRETRAINED_MODEL_ARCHIVE_LIST""",
			    """XLMRobertaXLForCausalLM""",
			    """XLMRobertaXLForMaskedLM""",
			    """XLMRobertaXLForMultipleChoice""",
			    """XLMRobertaXLForQuestionAnswering""",
			    """XLMRobertaXLForSequenceClassification""",
			    """XLMRobertaXLForTokenClassification""",
			    """XLMRobertaXLModel""",
			    """XLMRobertaXLPreTrainedModel""",
			]

if TYPE_CHECKING:
			from .configuration_xlm_roberta_xl import (
			    XLM_ROBERTA_XL_PRETRAINED_CONFIG_ARCHIVE_MAP,
			    XLMRobertaXLConfig,
			    XLMRobertaXLOnnxConfig,
			)

			try:
						if not is_torch_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_xlm_roberta_xl import (
						    XLM_ROBERTA_XL_PRETRAINED_MODEL_ARCHIVE_LIST,
						    XLMRobertaXLForCausalLM,
						    XLMRobertaXLForMaskedLM,
						    XLMRobertaXLForMultipleChoice,
						    XLMRobertaXLForQuestionAnswering,
						    XLMRobertaXLForSequenceClassification,
						    XLMRobertaXLForTokenClassification,
						    XLMRobertaXLModel,
						    XLMRobertaXLPreTrainedModel,
						)

else:
			import sys

			__SCREAMING_SNAKE_CASE 						=_LazyModule(__name__, globals()["""__file__"""], _import_structure)


