
from typing import TYPE_CHECKING

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


lowercase_ 				=			{
    """configuration_efficientformer""": [
        """EFFICIENTFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """EfficientFormerConfig""",
    ]
}

try:
   if not is_vision_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   lowercase_ 				=			["""EfficientFormerImageProcessor"""]

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   lowercase_ 				=			[
       """EFFICIENTFORMER_PRETRAINED_MODEL_ARCHIVE_LIST""",
       """EfficientFormerForImageClassification""",
       """EfficientFormerForImageClassificationWithTeacher""",
       """EfficientFormerModel""",
       """EfficientFormerPreTrainedModel""",
   ]

try:
   if not is_tf_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   lowercase_ 				=			[
       """TF_EFFICIENTFORMER_PRETRAINED_MODEL_ARCHIVE_LIST""",
       """TFEfficientFormerForImageClassification""",
       """TFEfficientFormerForImageClassificationWithTeacher""",
       """TFEfficientFormerModel""",
       """TFEfficientFormerPreTrainedModel""",
   ]

if TYPE_CHECKING:
   from .configuration_efficientformer import EFFICIENTFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP, EfficientFormerConfig

   try:
      if not is_vision_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .image_processing_efficientformer import EfficientFormerImageProcessor

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_efficientformer import (
          EFFICIENTFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
          EfficientFormerForImageClassification,
          EfficientFormerForImageClassificationWithTeacher,
          EfficientFormerModel,
          EfficientFormerPreTrainedModel,
      )
   try:
      if not is_tf_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_tf_efficientformer import (
          TF_EFFICIENTFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
          TFEfficientFormerForImageClassification,
          TFEfficientFormerForImageClassificationWithTeacher,
          TFEfficientFormerModel,
          TFEfficientFormerPreTrainedModel,
      )

else:
   import sys

   lowercase_ 				=			_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)

'''simple docstring'''

def snake_case_      (					__snake_case  :							int = 200)			->					int:
   lowerCAmelCase_			=      [1, 2, 5, 10, 20, 50, 100, 200]
   lowerCAmelCase_			=      [0] * (pence + 1)
   lowerCAmelCase_			=      1  # base case: 1 way to make 0 pence

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


if __name__ == "__main__":
 assert solution(2_00) == 7_36_82





