




def       UpperCAmelCase__  (     lowerCamelCase   ):
  lowercase    :Optional[int]      	=						[]
  if len(lowerCamelCase   ) == 1:
    return [nums.copy()]
  for _ in range(len(lowerCamelCase   )   ):
    lowercase    :Optional[int]      	=						nums.pop(0   )
    lowercase    :Union[str, Any]      	=						permute(lowerCamelCase   )
    for perm in permutations:
      perm.append(lowerCamelCase   )
    result.extend(lowerCamelCase   )
    nums.append(lowerCamelCase   )
  return result



def       UpperCAmelCase__  (     lowerCamelCase   ):

  def backtrack(lowerCamelCase   ):
    if start == len(lowerCamelCase   ) - 1:
      output.append(nums[:]   )
    else:
      for i in range(lowerCamelCase,			len(lowerCamelCase   )   ):
        lowercase	,    lowercase    :List[Any]      	=						nums[i], nums[start]
        backtrack(start + 1   )
        lowercase	,    lowercase    :Tuple      	=						nums[i], nums[start]  # backtrack

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


if __name__ == "__main__":
     import doctest

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









from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tokenizers_available, is_torch_available


_UpperCAmelCase	:						Optional[int]			=     {
    "configuration_biogpt": ["BIOGPT_PRETRAINED_CONFIG_ARCHIVE_MAP", "BioGptConfig"],
    "tokenization_biogpt": ["BioGptTokenizer"],
}

try:
     if not is_torch_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     _UpperCAmelCase	:						int			=     [
         "BIOGPT_PRETRAINED_MODEL_ARCHIVE_LIST",
         "BioGptForCausalLM",
         "BioGptForTokenClassification",
         "BioGptForSequenceClassification",
         "BioGptModel",
         "BioGptPreTrainedModel",
     ]


if TYPE_CHECKING:
     from .configuration_biogpt import BIOGPT_PRETRAINED_CONFIG_ARCHIVE_MAP, BioGptConfig
     from .tokenization_biogpt import BioGptTokenizer

     try:
          if not is_torch_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_biogpt import (
              BIOGPT_PRETRAINED_MODEL_ARCHIVE_LIST,
              BioGptForCausalLM,
              BioGptForSequenceClassification,
              BioGptForTokenClassification,
              BioGptModel,
              BioGptPreTrainedModel,
          )


else:
     import sys

     _UpperCAmelCase	:						Optional[Any]			=     _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)



