






from typing import TYPE_CHECKING

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


__snake_case    :    str         =     {
    """configuration_distilbert""": [
        """DISTILBERT_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """DistilBertConfig""",
        """DistilBertOnnxConfig""",
    ],
    """tokenization_distilbert""": ["""DistilBertTokenizer"""],
}

try:
					if not is_tokenizers_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					__snake_case    :    Union[str, Any]         =     ["""DistilBertTokenizerFast"""]

try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					__snake_case    :    Tuple         =     [
					    """DISTILBERT_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """DistilBertForMaskedLM""",
					    """DistilBertForMultipleChoice""",
					    """DistilBertForQuestionAnswering""",
					    """DistilBertForSequenceClassification""",
					    """DistilBertForTokenClassification""",
					    """DistilBertModel""",
					    """DistilBertPreTrainedModel""",
					]

try:
					if not is_tf_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					__snake_case    :    List[str]         =     [
					    """TF_DISTILBERT_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """TFDistilBertForMaskedLM""",
					    """TFDistilBertForMultipleChoice""",
					    """TFDistilBertForQuestionAnswering""",
					    """TFDistilBertForSequenceClassification""",
					    """TFDistilBertForTokenClassification""",
					    """TFDistilBertMainLayer""",
					    """TFDistilBertModel""",
					    """TFDistilBertPreTrainedModel""",
					]

try:
					if not is_flax_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					__snake_case    :    int         =     [
					    """FlaxDistilBertForMaskedLM""",
					    """FlaxDistilBertForMultipleChoice""",
					    """FlaxDistilBertForQuestionAnswering""",
					    """FlaxDistilBertForSequenceClassification""",
					    """FlaxDistilBertForTokenClassification""",
					    """FlaxDistilBertModel""",
					    """FlaxDistilBertPreTrainedModel""",
					]


if TYPE_CHECKING:
					from .configuration_distilbert import (
					    DISTILBERT_PRETRAINED_CONFIG_ARCHIVE_MAP,
					    DistilBertConfig,
					    DistilBertOnnxConfig,
					)
					from .tokenization_distilbert import DistilBertTokenizer

					try:
										if not is_tokenizers_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .tokenization_distilbert_fast import DistilBertTokenizerFast

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_distilbert import (
										    DISTILBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
										    DistilBertForMaskedLM,
										    DistilBertForMultipleChoice,
										    DistilBertForQuestionAnswering,
										    DistilBertForSequenceClassification,
										    DistilBertForTokenClassification,
										    DistilBertModel,
										    DistilBertPreTrainedModel,
										)

					try:
										if not is_tf_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_tf_distilbert import (
										    TF_DISTILBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
										    TFDistilBertForMaskedLM,
										    TFDistilBertForMultipleChoice,
										    TFDistilBertForQuestionAnswering,
										    TFDistilBertForSequenceClassification,
										    TFDistilBertForTokenClassification,
										    TFDistilBertMainLayer,
										    TFDistilBertModel,
										    TFDistilBertPreTrainedModel,
										)

					try:
										if not is_flax_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_flax_distilbert import (
										    FlaxDistilBertForMaskedLM,
										    FlaxDistilBertForMultipleChoice,
										    FlaxDistilBertForQuestionAnswering,
										    FlaxDistilBertForSequenceClassification,
										    FlaxDistilBertForTokenClassification,
										    FlaxDistilBertModel,
										    FlaxDistilBertPreTrainedModel,
										)

else:
					import sys

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













from __future__ import annotations

from functools import lru_cache
from math import ceil

__snake_case    :    Union[str, Any]         =     1_00

__snake_case    :    Tuple         =     set(range(3, NUM_PRIMES, 2))
primes.add(2)
__snake_case    :    int

for prime in range(3, ceil(NUM_PRIMES**0.5), 2):
					if prime not in primes:
										continue
					primes.difference_update(set(range(prime * prime, NUM_PRIMES, prime)))







@lru_cache(maxsize=100		)
def 	_UpperCamelCase   (    UpperCamelCase_       :					int		)  ->   set[int]:

						"""simple docstring"""



						if number_to_partition < 0:
												return set()
						elif number_to_partition == 0:
												return {1}

						lowerCAmelCase__    						=						set()
						lowerCAmelCase__    						=						42
						lowerCAmelCase__    						=						42

						for prime in primes:
												if prime > number_to_partition:
																		continue
												for sub in partition(number_to_partition - prime		):
																		ret.add(sub * prime		)

						return ret







def 	_UpperCamelCase   (    UpperCamelCase_       :					int = 5000		)  ->   int | None:

						"""simple docstring"""



						for number_to_partition in range(1    ,       UpperCamelCase_		):
												if len(partition(UpperCamelCase_		)		) > number_unique_partitions:
																		return number_to_partition
						return None


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





