






import functools






def 							lowerCamelCase__ (       __lowerCamelCase     :	list[int]    ,						__lowerCamelCase     :	list[int]						):

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

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

  if len(__lowerCamelCase						) == 0:
    return 0

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

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

  __UpperCAmelCase				:      List[str]	 =    set(__lowerCamelCase						)

  @functools.cache
  def dynamic_programming(__lowerCamelCase     :	int						) -> 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'''


import requests
def 						snake_case_       (UpperCamelCase			:    str					,		UpperCamelCase			:    str ):





							'''simple docstring'''


							_a      	=							{'''Content-Type''': '''application/json'''}
							_a      	=							requests.post(UpperCamelCase					,		json={'''text''': message_body}					,		headers=UpperCamelCase )
							if response.status_code != 200:
														_a      	=							(
														    '''Request to slack returned an error '''
														    f'{response.status_code}, the response is:\n{response.text}'
														)
														raise ValueError(UpperCamelCase )


if __name__ == "__main__":
				# Set the slack url to the one provided by Slack when you create the webhook at
				# https://my.slack.com/services/new/incoming-webhook/
				send_slack_message('<YOUR MESSAGE BODY>', '<SLACK CHANNEL URL>')

