


'''simple docstring'''

from typing import TYPE_CHECKING

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


lowerCamelCase							:     str								=			{'configuration_bert_generation': ['BertGenerationConfig']}

try:
 if not is_sentencepiece_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 lowerCamelCase							:     Any								=			['BertGenerationTokenizer']

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 lowerCamelCase							:     str								=			[
     'BertGenerationDecoder',
     'BertGenerationEncoder',
     'BertGenerationPreTrainedModel',
     'load_tf_weights_in_bert_generation',
 ]


if TYPE_CHECKING:
 from .configuration_bert_generation import BertGenerationConfig

 try:
  if not is_sentencepiece_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .tokenization_bert_generation import BertGenerationTokenizer

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_bert_generation import (
      BertGenerationDecoder,
      BertGenerationEncoder,
      BertGenerationPreTrainedModel,
      load_tf_weights_in_bert_generation,
  )

else:
 import sys

 lowerCamelCase							:     Optional[int]								=			_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)








'''simple docstring'''

from __future__ import annotations

from collections import Counter

def _SCREAMING_SNAKE_CASE   (A ) -> list[int]:






       """simple docstring"""







       lowercase__       =				[True] * n
       lowercase__       =				False
       lowercase__       =				False
       lowercase__       =				True

       for i in range(3						,				int(n**0.5 + 1 )						,				2 ):
              lowercase__       =				i * 2
              while index < n:
                     lowercase__       =				False
                     lowercase__       =				index + i

       lowercase__       =				[2]

       for i in range(3						,				A						,				2 ):
              if is_prime[i]:
                     primes.append(A )

       return primes

def _SCREAMING_SNAKE_CASE   (A ) -> list[list[int]]:






       """simple docstring"""







       lowercase__       =				str(A )
       lowercase__       =				[]
       lowercase__       =				['''0''', '''1''', '''2''', '''3''', '''4''', '''5''', '''6''', '''7''', '''8''', '''9''']

       for duplicate in Counter(A ) - Counter(set(A ) ):
              lowercase__       =				[int(number_str.replace(A						,				A ) ) for digit in digits]
              replacements.append(A )

       return replacements

def _SCREAMING_SNAKE_CASE   (A = 8 ) -> int:






       """simple docstring"""







       lowercase__       =				set()

       # Filter primes with less than 3 replaceable digits
       lowercase__       =				{
           x for x in set(prime_sieve(1_000_000 ) ) if len(str(A ) ) - len(set(str(A ) ) ) >= 3
       }

       for prime in primes:
              if prime in numbers_checked:
                     continue

              lowercase__       =				digit_replacements(A )

              for family in replacements:
                     numbers_checked.update(A )
                     lowercase__       =				primes.intersection(A )

                     if len(A ) != family_length:
                            continue

                     return min(A )

       return -1


if __name__ == "__main__":
 print(solution())




