





import functools
def      _A       (		SCREAMING_SNAKE_CASE     :   list[int]       ,       SCREAMING_SNAKE_CASE     :   list[int]						):





  """simple docstring"""



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

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

  if len(SCREAMING_SNAKE_CASE						) == 0:
    return 0

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

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

  a__	:					Any										=set(SCREAMING_SNAKE_CASE						)

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













import numpy as np
def      _A       (		SCREAMING_SNAKE_CASE     :   np.array						):





  """simple docstring"""



  return 1 / (1 + np.exp(-vector						))


if __name__ == "__main__":
     import doctest

     doctest.testmod()






