def       A	(    _lowercase						):






						if upper_limit < 0:
												raise ValueError('''Limit for the Catalan sequence must be ≥ 0'''						)

						SCREAMING_SNAKE_CASE							:    Optional[int]							=							[0] * (upper_limit + 1)

						# Base case: C(0) = C(1) = 1
						SCREAMING_SNAKE_CASE							:    Tuple							=							1
						if upper_limit > 0:
												SCREAMING_SNAKE_CASE							:    Optional[int]							=							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(__lowercase						):
																		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		:       Union[str, Any]									=     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()












'''simple docstring'''
from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


a__							:							List[str] ={
    '''configuration_bigbird_pegasus''': [
        '''BIGBIRD_PEGASUS_PRETRAINED_CONFIG_ARCHIVE_MAP''',
        '''BigBirdPegasusConfig''',
        '''BigBirdPegasusOnnxConfig''',
    ],
}

try:
    if not is_torch_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    pass
else:
    a__							:							Any =[
        '''BIGBIRD_PEGASUS_PRETRAINED_MODEL_ARCHIVE_LIST''',
        '''BigBirdPegasusForCausalLM''',
        '''BigBirdPegasusForConditionalGeneration''',
        '''BigBirdPegasusForQuestionAnswering''',
        '''BigBirdPegasusForSequenceClassification''',
        '''BigBirdPegasusModel''',
        '''BigBirdPegasusPreTrainedModel''',
    ]


if TYPE_CHECKING:
    from .configuration_bigbird_pegasus import (
        BIGBIRD_PEGASUS_PRETRAINED_CONFIG_ARCHIVE_MAP,
        BigBirdPegasusConfig,
        BigBirdPegasusOnnxConfig,
    )

    try:
        if not is_torch_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        pass
    else:
        from .modeling_bigbird_pegasus import (
            BIGBIRD_PEGASUS_PRETRAINED_MODEL_ARCHIVE_LIST,
            BigBirdPegasusForCausalLM,
            BigBirdPegasusForConditionalGeneration,
            BigBirdPegasusForQuestionAnswering,
            BigBirdPegasusForSequenceClassification,
            BigBirdPegasusModel,
            BigBirdPegasusPreTrainedModel,
        )


else:
    import sys

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