


def        UpperCamelCase_(				_A   :int  )->		str:
			if upper_limit < 0:
						raise ValueError("Limit for the Catalan sequence must be ≥ 0"  )

			UpperCamelCase__					=       [0] * (upper_limit + 1)

			# Base case: C(0) = C(1) = 1
			UpperCamelCase__					=       1
			if upper_limit > 0:
						UpperCamelCase__					=       1

			# Recurrence relation: C(i) = sum(C(j).C(i-j-1)), from j = 0 to i
			for i in range(2				,     upper_limit + 1  ):
						for j in range(UpperCamelCase__  ):
									catalan_list[i] += catalan_list[j] * catalan_list[i - j - 1]

			return catalan_list


if __name__ == "__main__":
						print('\n********* Catalan Numbers Using Dynamic Programming ************\n')
						print('\n*** Enter -1 at any time to quit ***')
						print('\nEnter the upper limit (≥ 0) for the Catalan number sequence: ', end='')
						try:
												while True:
																		__UpperCamelCase    		=       int(input().strip())
																		if N < 0:
																								print('\n********* Goodbye!! ************')
																								break
																		else:
																								print(f'''The Catalan numbers from 0 through {N} are:''')
																								print(catalan_numbers(N))
																								print('Try another upper limit for the sequence: ', end='')
						except (NameError, ValueError):
												print('\n********* Invalid input, goodbye! ************\n')

						import doctest

						doctest.testmod()






from typing import TYPE_CHECKING

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


__UpperCamelCase    		=       {
    'configuration_resnet': ['RESNET_PRETRAINED_CONFIG_ARCHIVE_MAP', 'ResNetConfig', 'ResNetOnnxConfig']
}

try:
						if not is_torch_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						__UpperCamelCase    		=       [
						    'RESNET_PRETRAINED_MODEL_ARCHIVE_LIST',
						    'ResNetForImageClassification',
						    'ResNetModel',
						    'ResNetPreTrainedModel',
						    'ResNetBackbone',
						]

try:
						if not is_tf_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						__UpperCamelCase    		=       [
						    'TF_RESNET_PRETRAINED_MODEL_ARCHIVE_LIST',
						    'TFResNetForImageClassification',
						    'TFResNetModel',
						    'TFResNetPreTrainedModel',
						]

try:
						if not is_flax_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						__UpperCamelCase    		=       [
						    'FlaxResNetForImageClassification',
						    'FlaxResNetModel',
						    'FlaxResNetPreTrainedModel',
						]

if TYPE_CHECKING:
						from .configuration_resnet import RESNET_PRETRAINED_CONFIG_ARCHIVE_MAP, ResNetConfig, ResNetOnnxConfig

						try:
												if not is_torch_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_resnet import (
												    RESNET_PRETRAINED_MODEL_ARCHIVE_LIST,
												    ResNetBackbone,
												    ResNetForImageClassification,
												    ResNetModel,
												    ResNetPreTrainedModel,
												)

						try:
												if not is_tf_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_tf_resnet import (
												    TF_RESNET_PRETRAINED_MODEL_ARCHIVE_LIST,
												    TFResNetForImageClassification,
												    TFResNetModel,
												    TFResNetPreTrainedModel,
												)

						try:
												if not is_flax_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_flax_resnet import FlaxResNetForImageClassification, FlaxResNetModel, FlaxResNetPreTrainedModel


else:
						import sys

						__UpperCamelCase    		=       _LazyModule(__name__, globals()['__file__'], _import_structure)


