






from typing import TYPE_CHECKING

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


_snake_case					   =     {
    'configuration_openai': ['OPENAI_GPT_PRETRAINED_CONFIG_ARCHIVE_MAP', 'OpenAIGPTConfig'],
    'tokenization_openai': ['OpenAIGPTTokenizer'],
}

try:
 if not is_tokenizers_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 _snake_case					   =     ['OpenAIGPTTokenizerFast']

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 _snake_case					   =     [
     'OPENAI_GPT_PRETRAINED_MODEL_ARCHIVE_LIST',
     'OpenAIGPTDoubleHeadsModel',
     'OpenAIGPTForSequenceClassification',
     'OpenAIGPTLMHeadModel',
     'OpenAIGPTModel',
     'OpenAIGPTPreTrainedModel',
     'load_tf_weights_in_openai_gpt',
 ]

try:
 if not is_tf_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 _snake_case					   =     [
     'TF_OPENAI_GPT_PRETRAINED_MODEL_ARCHIVE_LIST',
     'TFOpenAIGPTDoubleHeadsModel',
     'TFOpenAIGPTForSequenceClassification',
     'TFOpenAIGPTLMHeadModel',
     'TFOpenAIGPTMainLayer',
     'TFOpenAIGPTModel',
     'TFOpenAIGPTPreTrainedModel',
 ]


if TYPE_CHECKING:
 from .configuration_openai import OPENAI_GPT_PRETRAINED_CONFIG_ARCHIVE_MAP, OpenAIGPTConfig
 from .tokenization_openai import OpenAIGPTTokenizer

 try:
  if not is_tokenizers_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .tokenization_openai_fast import OpenAIGPTTokenizerFast

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_openai import (
      OPENAI_GPT_PRETRAINED_MODEL_ARCHIVE_LIST,
      OpenAIGPTDoubleHeadsModel,
      OpenAIGPTForSequenceClassification,
      OpenAIGPTLMHeadModel,
      OpenAIGPTModel,
      OpenAIGPTPreTrainedModel,
      load_tf_weights_in_openai_gpt,
  )

 try:
  if not is_tf_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_tf_openai import (
      TF_OPENAI_GPT_PRETRAINED_MODEL_ARCHIVE_LIST,
      TFOpenAIGPTDoubleHeadsModel,
      TFOpenAIGPTForSequenceClassification,
      TFOpenAIGPTLMHeadModel,
      TFOpenAIGPTMainLayer,
      TFOpenAIGPTModel,
      TFOpenAIGPTPreTrainedModel,
  )

else:
 import sys

 _snake_case					   =     _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)









"""simple docstring"""




from __future__ import annotations

import math
from itertools import permutations

def     lowerCAmelCase__  (  UpperCamelCase__       ):



  '''simple docstring'''

  if 1 < number < 4:
    # 2 and 3 are primes
    return True
  elif number < 2 or number % 2 == 0 or number % 3 == 0:
    # Negatives, 0, 1, all even numbers, all multiples of 3 are not primes
    return False

  # All primes number are in format of 6k +/- 1
  for i in range(5  ,     int(math.sqrt(UpperCamelCase__       ) + 1       )  ,     6       ):
    if number % i == 0 or number % (i + 2) == 0:
      return False
  return True

def     lowerCAmelCase__  (  UpperCamelCase__ = 7       ):



  '''simple docstring'''
  _a						: Tuple    =			"""""".join(str(UpperCamelCase__       ) for i in range(1  ,     n + 1       )       )
  _a						: str    =			[int("""""".join(UpperCamelCase__       )       ) for i in permutations(UpperCamelCase__  ,     UpperCamelCase__       )]
  _a						: Union[str, Any]    =			[num for num in perm_list if is_prime(UpperCamelCase__       )]
  return max(UpperCamelCase__       ) if pandigitals else 0


if __name__ == "__main__":
 print(F'''{solution() = }''')

