
"""simple docstring"""






def 						_snake_case       (	lowercase__		:  list[int]		)  ->				list[list[int]]:


			'''simple docstring'''





			lowerCAmelCase_    :Optional[Any]			     =  []
			if len(lowercase__		) == 1:
						return [nums.copy()]
			for _ in range(len(lowercase__		)		):
						lowerCAmelCase_    :Optional[Any]			     =  nums.pop(0		)
						lowerCAmelCase_    :str			     =  permute(lowercase__		)
						for perm in permutations:
									perm.append(lowercase__		)
						result.extend(lowercase__		)
						nums.append(lowercase__		)
			return result






def 						_snake_case       (	lowercase__		:  Tuple		)  ->				List[str]:


			'''simple docstring'''





			def backtrack(lowercase__		:  str		):
						if start == len(lowercase__		) - 1:
									output.append(nums[:]		)
						else:
									for i in range(lowercase__      ,     len(lowercase__		)		):
												lowerCAmelCase_     ,       lowerCAmelCase_    :str			     =  nums[i], nums[start]
												backtrack(start + 1		)
												lowerCAmelCase_     ,       lowerCAmelCase_    :str			     =  nums[i], nums[start]  # backtrack

			lowerCAmelCase_    :int			     =  []
			backtrack(0		)
			return output


if __name__ == "__main__":
				import doctest

				# use res to print the data in permute2 function
				__UpperCAmelCase       =  permutea([1, 2, 3])
				print(res)
				doctest.testmod()








from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_sentencepiece_available,
    is_tokenizers_available,
    is_torch_available,
)


_A   =     {}

try:
			if not is_sentencepiece_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			_A   =     ["NllbTokenizer"]

try:
			if not is_tokenizers_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			_A   =     ["NllbTokenizerFast"]


if TYPE_CHECKING:
			try:
						if not is_sentencepiece_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .tokenization_nllb import NllbTokenizer

			try:
						if not is_tokenizers_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .tokenization_nllb_fast import NllbTokenizerFast

else:
			import sys

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



