'''simple docstring'''

from typing import TYPE_CHECKING

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


lowerCAmelCase_ : str						  =      {
    "configuration_clip": [
        "CLIP_PRETRAINED_CONFIG_ARCHIVE_MAP",
        "CLIPConfig",
        "CLIPOnnxConfig",
        "CLIPTextConfig",
        "CLIPVisionConfig",
    ],
    "processing_clip": ["CLIPProcessor"],
    "tokenization_clip": ["CLIPTokenizer"],
}

try:
       if not is_tokenizers_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       lowerCAmelCase_ : Any						  =      ["CLIPTokenizerFast"]

try:
       if not is_vision_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       lowerCAmelCase_ : Dict						  =      ["CLIPFeatureExtractor"]
       lowerCAmelCase_ : Union[str, Any]						  =      ["CLIPImageProcessor"]

try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       lowerCAmelCase_ : Dict						  =      [
           "CLIP_PRETRAINED_MODEL_ARCHIVE_LIST",
           "CLIPModel",
           "CLIPPreTrainedModel",
           "CLIPTextModel",
           "CLIPTextModelWithProjection",
           "CLIPVisionModel",
           "CLIPVisionModelWithProjection",
       ]

try:
       if not is_tf_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       lowerCAmelCase_ : List[str]						  =      [
           "TF_CLIP_PRETRAINED_MODEL_ARCHIVE_LIST",
           "TFCLIPModel",
           "TFCLIPPreTrainedModel",
           "TFCLIPTextModel",
           "TFCLIPVisionModel",
       ]

try:
       if not is_flax_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       lowerCAmelCase_ : Optional[Any]						  =      [
           "FlaxCLIPModel",
           "FlaxCLIPPreTrainedModel",
           "FlaxCLIPTextModel",
           "FlaxCLIPTextPreTrainedModel",
           "FlaxCLIPVisionModel",
           "FlaxCLIPVisionPreTrainedModel",
       ]


if TYPE_CHECKING:
       from .configuration_clip import (
           CLIP_PRETRAINED_CONFIG_ARCHIVE_MAP,
           CLIPConfig,
           CLIPOnnxConfig,
           CLIPTextConfig,
           CLIPVisionConfig,
       )
       from .processing_clip import CLIPProcessor
       from .tokenization_clip import CLIPTokenizer

       try:
              if not is_tokenizers_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .tokenization_clip_fast import CLIPTokenizerFast

       try:
              if not is_vision_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .feature_extraction_clip import CLIPFeatureExtractor
              from .image_processing_clip import CLIPImageProcessor

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_clip import (
                  CLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
                  CLIPModel,
                  CLIPPreTrainedModel,
                  CLIPTextModel,
                  CLIPTextModelWithProjection,
                  CLIPVisionModel,
                  CLIPVisionModelWithProjection,
              )

       try:
              if not is_tf_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_tf_clip import (
                  TF_CLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
                  TFCLIPModel,
                  TFCLIPPreTrainedModel,
                  TFCLIPTextModel,
                  TFCLIPVisionModel,
              )

       try:
              if not is_flax_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_flax_clip import (
                  FlaxCLIPModel,
                  FlaxCLIPPreTrainedModel,
                  FlaxCLIPTextModel,
                  FlaxCLIPTextPreTrainedModel,
                  FlaxCLIPVisionModel,
                  FlaxCLIPVisionPreTrainedModel,
              )


else:
       import sys

       lowerCAmelCase_ : str						  =      _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)



'''simple docstring'''

def __a (	__lowerCamelCase			:						int = 200				)	->							int:
      '''simple docstring'''


      lowercase_     =      [1, 2, 5, 10, 20, 50, 100, 200]
      lowercase_     =      [0] * (pence + 1)
      lowercase_     =      1  # base case: 1 way to make 0 pence

      for coin in coins:
            for i in range(__lowerCamelCase ,		pence + 1 ,		1				):
                  number_of_ways[i] += number_of_ways[i - coin]
      return number_of_ways[pence]


if __name__ == "__main__":
       assert solution(200) == 73_682






