


'''simple docstring'''

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

						__lowerCAmelCase											= []
						__lowerCAmelCase											= list(range(a_))

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

						return permutation


if __name__ == "__main__":
	import doctest

	doctest.testmod()








"""simple docstring"""
from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


lowerCamelCase_								=		{
    "configuration_blip_2": [
        "BLIP_2_PRETRAINED_CONFIG_ARCHIVE_MAP",
        "Blip2Config",
        "Blip2QFormerConfig",
        "Blip2VisionConfig",
    ],
    "processing_blip_2": ["Blip2Processor"],
}

try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  lowerCamelCase_								=		[
      "BLIP_2_PRETRAINED_MODEL_ARCHIVE_LIST",
      "Blip2Model",
      "Blip2QFormerModel",
      "Blip2PreTrainedModel",
      "Blip2ForConditionalGeneration",
      "Blip2VisionModel",
  ]

if TYPE_CHECKING:
  from .configuration_blip_a import (
      BLIP_2_PRETRAINED_CONFIG_ARCHIVE_MAP,
      BlipaConfig,
      BlipaQFormerConfig,
      BlipaVisionConfig,
  )
  from .processing_blip_a import BlipaProcessor

  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_blip_a import (
        BLIP_2_PRETRAINED_MODEL_ARCHIVE_LIST,
        BlipaForConditionalGeneration,
        BlipaModel,
        BlipaPreTrainedModel,
        BlipaQFormerModel,
        BlipaVisionModel,
    )

else:
  import sys

  lowerCamelCase_								=		_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)