






def 				lowerCamelCase__				(_UpperCAmelCase							,       _UpperCAmelCase):
			SCREAMING_SNAKE_CASE						= [1]
			for i in range(2							,       _UpperCAmelCase):
						factorials.append(factorials[-1] * i)
			assert 0 <= k < factorials[-1] * n, "k out of bounds"

			SCREAMING_SNAKE_CASE						= []
			SCREAMING_SNAKE_CASE						= list(range(_UpperCAmelCase))

			# Find permutation
			while factorials:
						SCREAMING_SNAKE_CASE						= factorials.pop()
						SCREAMING_SNAKE_CASE				,						SCREAMING_SNAKE_CASE						= divmod(_UpperCAmelCase							,       _UpperCAmelCase)
						permutation.append(elements[number])
						elements.remove(elements[number])
			permutation.append(elements[0])

			return permutation


if __name__ == "__main__":
				import doctest

				doctest.testmod()












from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


a_		:						List[Any]             =    {
    'configuration_bigbird_pegasus': [
        'BIGBIRD_PEGASUS_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'BigBirdPegasusConfig',
        'BigBirdPegasusOnnxConfig',
    ],
}

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				a_		:						Dict             =    [
				    '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_		:						Tuple             =    _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)




