import functools



def 	__A		(      _A				,					_A       ):



 """simple docstring"""


 if not isinstance(_A				,					_A       ) or not all(isinstance(_A				,					_A       ) for day in days       ):
  raise ValueError("The parameter days should be a list of integers"       )

 if len(_A       ) != 3 or not all(isinstance(_A				,					_A       ) for cost in costs       ):
  raise ValueError("The parameter costs should be a list of three integers"       )

 if len(_A       ) == 0:
  return 0

 if min(_A       ) <= 0:
  raise ValueError("All days elements should be greater than 0"       )

 if max(_A       ) >= 366:
  raise ValueError("All days elements should be less than 366"       )

 __a							=	set(_A       )

 @functools.cache
 def dynamic_programming(_A       ) -> int:
  if index > 365:
   return 0

  if index not in days_set:
   return dynamic_programming(index + 1       )

  return min(
      costs[0] + dynamic_programming(index + 1       )				,					costs[1] + dynamic_programming(index + 7       )				,					costs[2] + dynamic_programming(index + 30       )				,					)

 return dynamic_programming(1       )


if __name__ == "__main__":
  import doctest

  doctest.testmod()



'''simple docstring'''




from collections import OrderedDict
from typing import Mapping

from packaging import version

from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxConfig
from ...utils import logging


__lowercase        =    logging.get_logger(__name__)

__lowercase        =    {
    '''google/mobilenet_v1_1.0_224''': '''https://huggingface.co/google/mobilenet_v1_1.0_224/resolve/main/config.json''',
    '''google/mobilenet_v1_0.75_192''': '''https://huggingface.co/google/mobilenet_v1_0.75_192/resolve/main/config.json''',
    # See all MobileNetV1 models at https://huggingface.co/models?filter=mobilenet_v1
}






class 							a__(   lowerCAmelCase__      ):


			'''simple docstring'''






			UpperCAmelCase_     :	List[str]						=			'''mobilenet_v1'''



			def __init__(  self			,       __lowerCAmelCase=3			,       __lowerCAmelCase=224			,       __lowerCAmelCase=1.0			,       __lowerCAmelCase=8			,       __lowerCAmelCase="relu6"			,       __lowerCAmelCase=True			,       __lowerCAmelCase=0.999			,       __lowerCAmelCase=0.02			,       __lowerCAmelCase=0.001			,       **__lowerCAmelCase			,       ):




					"""simple docstring"""


					super().__init__(**__lowerCAmelCase)

					if depth_multiplier <= 0:
							raise ValueError("""depth_multiplier must be greater than zero.""")

					lowerCAmelCase     =    num_channels
					lowerCAmelCase     =    image_size
					lowerCAmelCase     =    depth_multiplier
					lowerCAmelCase     =    min_depth
					lowerCAmelCase     =    hidden_act
					lowerCAmelCase     =    tf_padding
					lowerCAmelCase     =    classifier_dropout_prob
					lowerCAmelCase     =    initializer_range
					lowerCAmelCase     =    layer_norm_eps







class 							a__(   lowerCAmelCase__      ):


			'''simple docstring'''






			UpperCAmelCase_     :	Dict						=			version.parse('''1.11'''      )



			@property
			def 				a_			(  self):




					"""simple docstring"""


					return OrderedDict([("""pixel_values""", {0: """batch"""})])



			@property
			def 				a_			(  self):




					"""simple docstring"""


					if self.task == "image-classification":
							return OrderedDict([("""logits""", {0: """batch"""})])
					else:
							return OrderedDict([("""last_hidden_state""", {0: """batch"""}), ("""pooler_output""", {0: """batch"""})])







			@property
			def 				a_			(  self):




					"""simple docstring"""


					return 1E-4




