
"""simple docstring"""






from __future__ import annotations

import math




def __magic_name__	(				_lowerCamelCase:		int			)					->						bool:

	'''simple docstring'''




	if 1 < number < 4:
		# 2 and 3 are primes
		return True
	elif number < 2 or number % 2 == 0 or number % 3 == 0:
		# Negatives, 0, 1, all even numbers, all multiples of 3 are not primes
		return False

	# All primes number are in format of 6k +/- 1
	for i in range(5,					int(math.sqrt(_UpperCAmelCase			) + 1			),					6			):
		if number % i == 0 or number % (i + 2) == 0:
			return False
	return True


UpperCAmelCase        =				[num for num in range(3, 1_0_0_0_0_1, 2) if not is_prime(num)]




def __magic_name__	(				_lowerCamelCase:		int			)					->						list[int]:

	'''simple docstring'''




	if not isinstance(_UpperCAmelCase,					_UpperCAmelCase			):
		raise ValueError('''n must be an integer'''			)
	if n <= 0:
		raise ValueError('''n must be >= 0'''			)

	lowerCAmelCase												=  []
	for num in range(len(_UpperCAmelCase			)			):
		lowerCAmelCase												=  0
		while 2 * i * i <= odd_composites[num]:
			lowerCAmelCase												=  odd_composites[num] - 2 * i * i
			if is_prime(_UpperCAmelCase			):
				break
			i += 1
		else:
			list_nums.append(odd_composites[num]			)
			if len(_UpperCAmelCase			) == n:
				return list_nums

	return []




def __magic_name__	(				)					->						int:

	'''simple docstring'''




	return compute_nums(1			)[0]


if __name__ == "__main__":
					print(f"""{solution() = }""")







'''simple docstring'''





import functools





def   a_   (		_UpperCAmelCase    :      list[int] ,_UpperCAmelCase    :      list[int]				)    ->  int:

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

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

      if len(_UpperCAmelCase				) == 0:
            return 0

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

      if max(_UpperCAmelCase				) >= 3_66:
            raise ValueError('All days elements should be less than 366'				)

      __snake_case :   str													=    set(_UpperCAmelCase				)

      @functools.cache
      def dynamic_programming(_UpperCAmelCase    :      int				) -> int:
            if index > 3_65:
                  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()



