
def 		lowercase_    (     A__	)							->							list[list[int]]:
				"""simple docstring"""

				snake_case				  =      []
				if len(A__	) == 1:
								return [nums.copy()]
				for _ in range(len(A__	)	):
								snake_case				  =      nums.pop(0	)
								snake_case				  =      permute(A__	)
								for perm in permutations:
												perm.append(A__	)
								result.extend(A__	)
								nums.append(A__	)
				return result



def 		lowercase_    (     A__	)							->							Optional[int]:
				"""simple docstring"""

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

				snake_case				  =      []
				backtrack(0	)
				return output


if __name__ == "__main__":
			import doctest

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



from typing import TYPE_CHECKING

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


_A						      =				{
    "configuration_wav2vec2": ["WAV_2_VEC_2_PRETRAINED_CONFIG_ARCHIVE_MAP", "Wav2Vec2Config"],
    "feature_extraction_wav2vec2": ["Wav2Vec2FeatureExtractor"],
    "processing_wav2vec2": ["Wav2Vec2Processor"],
    "tokenization_wav2vec2": ["Wav2Vec2CTCTokenizer", "Wav2Vec2Tokenizer"],
}


try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _A						      =				[
       "WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST",
       "Wav2Vec2ForAudioFrameClassification",
       "Wav2Vec2ForCTC",
       "Wav2Vec2ForMaskedLM",
       "Wav2Vec2ForPreTraining",
       "Wav2Vec2ForSequenceClassification",
       "Wav2Vec2ForXVector",
       "Wav2Vec2Model",
       "Wav2Vec2PreTrainedModel",
   ]

try:
   if not is_tf_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _A						      =				[
       "TF_WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST",
       "TFWav2Vec2ForCTC",
       "TFWav2Vec2Model",
       "TFWav2Vec2PreTrainedModel",
       "TFWav2Vec2ForSequenceClassification",
   ]

try:
   if not is_flax_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _A						      =				[
       "FlaxWav2Vec2ForCTC",
       "FlaxWav2Vec2ForPreTraining",
       "FlaxWav2Vec2Model",
       "FlaxWav2Vec2PreTrainedModel",
   ]


if TYPE_CHECKING:
   from .configuration_wavaveca import WAV_2_VEC_2_PRETRAINED_CONFIG_ARCHIVE_MAP, WavaVecaConfig
   from .feature_extraction_wavaveca import WavaVecaFeatureExtractor
   from .processing_wavaveca import WavaVecaProcessor
   from .tokenization_wavaveca import WavaVecaCTCTokenizer, WavaVecaTokenizer

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_wavaveca import (
          WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST,
          WavaVecaForAudioFrameClassification,
          WavaVecaForCTC,
          WavaVecaForMaskedLM,
          WavaVecaForPreTraining,
          WavaVecaForSequenceClassification,
          WavaVecaForXVector,
          WavaVecaModel,
          WavaVecaPreTrainedModel,
      )

   try:
      if not is_tf_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_tf_wavaveca import (
          TF_WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST,
          TFWavaVecaForCTC,
          TFWavaVecaForSequenceClassification,
          TFWavaVecaModel,
          TFWavaVecaPreTrainedModel,
      )

   try:
      if not is_flax_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_tf_wavaveca import (
          FlaxWavaVecaForCTC,
          FlaxWavaVecaForPreTraining,
          FlaxWavaVecaModel,
          FlaxWavaVecaPreTrainedModel,
      )


else:
   import sys

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

