






"""simple docstring"""




from typing import TYPE_CHECKING

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


_snake_case					   =     {
    'configuration_utils': ['GenerationConfig'],
    'streamers': ['TextIteratorStreamer', 'TextStreamer'],
}

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 _snake_case					   =     [
     'Constraint',
     'ConstraintListState',
     'DisjunctiveConstraint',
     'PhrasalConstraint',
 ]
 _snake_case					   =     [
     'BeamHypotheses',
     'BeamScorer',
     'BeamSearchScorer',
     'ConstrainedBeamSearchScorer',
 ]
 _snake_case					   =     [
     'EpsilonLogitsWarper',
     'EtaLogitsWarper',
     'ForcedBOSTokenLogitsProcessor',
     'ForcedEOSTokenLogitsProcessor',
     'HammingDiversityLogitsProcessor',
     'InfNanRemoveLogitsProcessor',
     'LogitsProcessor',
     'LogitsProcessorList',
     'LogitsWarper',
     'MinLengthLogitsProcessor',
     'MinNewTokensLengthLogitsProcessor',
     'NoBadWordsLogitsProcessor',
     'NoRepeatNGramLogitsProcessor',
     'PrefixConstrainedLogitsProcessor',
     'RepetitionPenaltyLogitsProcessor',
     'SequenceBiasLogitsProcessor',
     'EncoderRepetitionPenaltyLogitsProcessor',
     'TemperatureLogitsWarper',
     'TopKLogitsWarper',
     'TopPLogitsWarper',
     'TypicalLogitsWarper',
     'EncoderNoRepeatNGramLogitsProcessor',
     'ExponentialDecayLengthPenalty',
     'LogitNormalization',
 ]
 _snake_case					   =     [
     'MaxNewTokensCriteria',
     'MaxLengthCriteria',
     'MaxTimeCriteria',
     'StoppingCriteria',
     'StoppingCriteriaList',
     'validate_stopping_criteria',
 ]
 _snake_case					   =     [
     'GenerationMixin',
     'top_k_top_p_filtering',
     'GreedySearchEncoderDecoderOutput',
     'GreedySearchDecoderOnlyOutput',
     'SampleEncoderDecoderOutput',
     'SampleDecoderOnlyOutput',
     'BeamSearchEncoderDecoderOutput',
     'BeamSearchDecoderOnlyOutput',
     'BeamSampleEncoderDecoderOutput',
     'BeamSampleDecoderOnlyOutput',
     'ContrastiveSearchEncoderDecoderOutput',
     'ContrastiveSearchDecoderOnlyOutput',
 ]

try:
 if not is_tf_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 _snake_case					   =     [
     'TFForcedBOSTokenLogitsProcessor',
     'TFForcedEOSTokenLogitsProcessor',
     'TFLogitsProcessor',
     'TFLogitsProcessorList',
     'TFLogitsWarper',
     'TFMinLengthLogitsProcessor',
     'TFNoBadWordsLogitsProcessor',
     'TFNoRepeatNGramLogitsProcessor',
     'TFRepetitionPenaltyLogitsProcessor',
     'TFTemperatureLogitsWarper',
     'TFTopKLogitsWarper',
     'TFTopPLogitsWarper',
     'TFForceTokensLogitsProcessor',
     'TFSuppressTokensAtBeginLogitsProcessor',
     'TFSuppressTokensLogitsProcessor',
 ]
 _snake_case					   =     [
     'TFGenerationMixin',
     'tf_top_k_top_p_filtering',
     'TFGreedySearchDecoderOnlyOutput',
     'TFGreedySearchEncoderDecoderOutput',
     'TFSampleEncoderDecoderOutput',
     'TFSampleDecoderOnlyOutput',
     'TFBeamSearchEncoderDecoderOutput',
     'TFBeamSearchDecoderOnlyOutput',
     'TFBeamSampleEncoderDecoderOutput',
     'TFBeamSampleDecoderOnlyOutput',
     'TFContrastiveSearchEncoderDecoderOutput',
     'TFContrastiveSearchDecoderOnlyOutput',
 ]

try:
 if not is_flax_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 _snake_case					   =     [
     'FlaxForcedBOSTokenLogitsProcessor',
     'FlaxForcedEOSTokenLogitsProcessor',
     'FlaxLogitsProcessor',
     'FlaxLogitsProcessorList',
     'FlaxLogitsWarper',
     'FlaxMinLengthLogitsProcessor',
     'FlaxTemperatureLogitsWarper',
     'FlaxTopKLogitsWarper',
     'FlaxTopPLogitsWarper',
 ]
 _snake_case					   =     [
     'FlaxGenerationMixin',
     'FlaxGreedySearchOutput',
     'FlaxSampleOutput',
     'FlaxBeamSearchOutput',
 ]

if TYPE_CHECKING:
 from .configuration_utils import GenerationConfig
 from .streamers import TextIteratorStreamer, TextStreamer

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .beam_constraints import Constraint, ConstraintListState, DisjunctiveConstraint, PhrasalConstraint
  from .beam_search import BeamHypotheses, BeamScorer, BeamSearchScorer, ConstrainedBeamSearchScorer
  from .logits_process import (
      EncoderNoRepeatNGramLogitsProcessor,
      EncoderRepetitionPenaltyLogitsProcessor,
      EpsilonLogitsWarper,
      EtaLogitsWarper,
      ExponentialDecayLengthPenalty,
      ForcedBOSTokenLogitsProcessor,
      ForcedEOSTokenLogitsProcessor,
      HammingDiversityLogitsProcessor,
      InfNanRemoveLogitsProcessor,
      LogitNormalization,
      LogitsProcessor,
      LogitsProcessorList,
      LogitsWarper,
      MinLengthLogitsProcessor,
      MinNewTokensLengthLogitsProcessor,
      NoBadWordsLogitsProcessor,
      NoRepeatNGramLogitsProcessor,
      PrefixConstrainedLogitsProcessor,
      RepetitionPenaltyLogitsProcessor,
      SequenceBiasLogitsProcessor,
      TemperatureLogitsWarper,
      TopKLogitsWarper,
      TopPLogitsWarper,
      TypicalLogitsWarper,
  )
  from .stopping_criteria import (
      MaxLengthCriteria,
      MaxNewTokensCriteria,
      MaxTimeCriteria,
      StoppingCriteria,
      StoppingCriteriaList,
      validate_stopping_criteria,
  )
  from .utils import (
      BeamSampleDecoderOnlyOutput,
      BeamSampleEncoderDecoderOutput,
      BeamSearchDecoderOnlyOutput,
      BeamSearchEncoderDecoderOutput,
      ContrastiveSearchDecoderOnlyOutput,
      ContrastiveSearchEncoderDecoderOutput,
      GenerationMixin,
      GreedySearchDecoderOnlyOutput,
      GreedySearchEncoderDecoderOutput,
      SampleDecoderOnlyOutput,
      SampleEncoderDecoderOutput,
      top_k_top_p_filtering,
  )

 try:
  if not is_tf_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .tf_logits_process import (
      TFForcedBOSTokenLogitsProcessor,
      TFForcedEOSTokenLogitsProcessor,
      TFForceTokensLogitsProcessor,
      TFLogitsProcessor,
      TFLogitsProcessorList,
      TFLogitsWarper,
      TFMinLengthLogitsProcessor,
      TFNoBadWordsLogitsProcessor,
      TFNoRepeatNGramLogitsProcessor,
      TFRepetitionPenaltyLogitsProcessor,
      TFSuppressTokensAtBeginLogitsProcessor,
      TFSuppressTokensLogitsProcessor,
      TFTemperatureLogitsWarper,
      TFTopKLogitsWarper,
      TFTopPLogitsWarper,
  )
  from .tf_utils import (
      TFBeamSampleDecoderOnlyOutput,
      TFBeamSampleEncoderDecoderOutput,
      TFBeamSearchDecoderOnlyOutput,
      TFBeamSearchEncoderDecoderOutput,
      TFContrastiveSearchDecoderOnlyOutput,
      TFContrastiveSearchEncoderDecoderOutput,
      TFGenerationMixin,
      TFGreedySearchDecoderOnlyOutput,
      TFGreedySearchEncoderDecoderOutput,
      TFSampleDecoderOnlyOutput,
      TFSampleEncoderDecoderOutput,
      tf_top_k_top_p_filtering,
  )

 try:
  if not is_flax_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .flax_logits_process import (
      FlaxForcedBOSTokenLogitsProcessor,
      FlaxForcedEOSTokenLogitsProcessor,
      FlaxLogitsProcessor,
      FlaxLogitsProcessorList,
      FlaxLogitsWarper,
      FlaxMinLengthLogitsProcessor,
      FlaxTemperatureLogitsWarper,
      FlaxTopKLogitsWarper,
      FlaxTopPLogitsWarper,
  )
  from .flax_utils import FlaxBeamSearchOutput, FlaxGenerationMixin, FlaxGreedySearchOutput, FlaxSampleOutput
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() = }''')

