





from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


__lowerCAmelCase :Optional[int]     =    {
    'configuration_jukebox': [
        'JUKEBOX_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'JukeboxConfig',
        'JukeboxPriorConfig',
        'JukeboxVQVAEConfig',
    ],
    'tokenization_jukebox': ['JukeboxTokenizer'],
}

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							__lowerCAmelCase :Optional[int]     =    [
							    'JUKEBOX_PRETRAINED_MODEL_ARCHIVE_LIST',
							    'JukeboxModel',
							    'JukeboxPreTrainedModel',
							    'JukeboxVQVAE',
							    'JukeboxPrior',
							]

if TYPE_CHECKING:
							from .configuration_jukebox import (
							    JUKEBOX_PRETRAINED_CONFIG_ARCHIVE_MAP,
							    JukeboxConfig,
							    JukeboxPriorConfig,
							    JukeboxVQVAEConfig,
							)
							from .tokenization_jukebox import JukeboxTokenizer

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_jukebox import (
														    JUKEBOX_PRETRAINED_MODEL_ARCHIVE_LIST,
														    JukeboxModel,
														    JukeboxPreTrainedModel,
														    JukeboxPrior,
														    JukeboxVQVAE,
														)

else:
							import sys

							__lowerCAmelCase :str     =    _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)












def    A				(							UpperCAmelCase				):
					return str(UpperCAmelCase				) == str(UpperCAmelCase				)[::-1]







def    A				(							UpperCAmelCase				):
					return int(UpperCAmelCase				) + int(str(UpperCAmelCase				)[::-1]				)







def    A				(							UpperCAmelCase = 10_000				):
					_snake_case       :					Optional[int]				       =   []
					for num in range(1  ,  UpperCAmelCase				):
										_snake_case       :					Optional[Any]				       =   0
										_snake_case       :					Optional[int]				       =   num
										while iterations < 50:
															_snake_case       :					Optional[Any]				       =   sum_reverse(UpperCAmelCase				)
															iterations += 1
															if is_palindrome(UpperCAmelCase				):
																				break
										else:
															lychrel_nums.append(UpperCAmelCase				)
					return len(UpperCAmelCase				)


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