a  :      Tuple            =    [4, 1, 7, 4, 2, 6, 4, 1, 5, 3, 7, 5]
a  :      Any            =    [3, 7, 7, 4, 2, 6, 4, 1, 5, 3, 7, 5]
a  :      Dict            =    {
    0: """Sunday""",
    1: """Monday""",
    2: """Tuesday""",
    3: """Wednesday""",
    4: """Thursday""",
    5: """Friday""",
    6: """Saturday""",
}
def 		snake_case__	(		lowercase							,				lowercase							,				lowercase					):
   assert len(str(lowercase					)					) > 2, "year should be in YYYY format"
   assert 1 <= month <= 12, "month should be between 1 to 12"
   assert 1 <= day <= 31, "day should be between 1 to 31"

   # Doomsday algorithm:
   lowerCAmelCase_:							List[str]       =	year // 100
   lowerCAmelCase_:							Any       =	(5 * (century % 4) + 2) % 7
   lowerCAmelCase_:							Tuple       =	year % 100
   lowerCAmelCase_:							Optional[int]       =	centurian % 12
   lowerCAmelCase_:							str       =	(
       (centurian // 12) + centurian_m + (centurian_m // 4) + century_anchor
   ) % 7
   lowerCAmelCase_:							Dict       =	(
       DOOMSDAY_NOT_LEAP[month - 1]
       if (year % 4 != 0) or (centurian == 0 and (year % 400) == 0)
       else DOOMSDAY_LEAP[month - 1]
   )
   lowerCAmelCase_:							int       =	(dooms_day + day - day_anchor) % 7
   return WEEK_DAY_NAMES[week_day]


if __name__ == "__main__":
 import doctest

 doctest.testmod()
from math import isqrt
def 		snake_case__	(		lowercase					):
   lowerCAmelCase_:							List[str]       =	[True] * max_number
   for i in range(2							,				isqrt(max_number - 1					) + 1					):
      if is_prime[i]:
         for j in range(i**2							,				lowercase							,				lowercase					):
            lowerCAmelCase_:							Dict       =	False

   return [i for i in range(2							,				lowercase					) if is_prime[i]]
def 		snake_case__	(		lowercase = 10**8					):
   lowerCAmelCase_:							Union[str, Any]       =	calculate_prime_numbers(max_number // 2					)

   lowerCAmelCase_:							Tuple       =	0
   lowerCAmelCase_:							List[Any]       =	0
   lowerCAmelCase_:							Dict       =	len(lowercase					) - 1
   while left <= right:
      while prime_numbers[left] * prime_numbers[right] >= max_number:
         right -= 1
      semiprimes_count += right - left + 1
      left += 1

   return semiprimes_count


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