"""simple docstring"""


def      __UpperCAmelCase       (      lowercase		):







  """simple docstring"""
  _UpperCAmelCase    			=   0
  while num > 0:
    digit_sum += num % 10
    num //= 10
  return digit_sum






def      __UpperCAmelCase       (      lowercase = 1_00		):







  """simple docstring"""
  _UpperCAmelCase    			=   1
  _UpperCAmelCase    			=   2

  for i in range(2 ,max_n + 1		):
    _UpperCAmelCase    			=   pre_numerator
    _UpperCAmelCase    			=   2 * i // 3 if i % 3 == 0 else 1
    _UpperCAmelCase    			=   cur_numerator
    _UpperCAmelCase    			=   e_cont * pre_numerator + temp

  return sum_digits(lowercase		)


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

"""simple docstring"""


from math import isqrt






def      __UpperCAmelCase       (      lowercase		):







  """simple docstring"""
  _UpperCAmelCase    			=   [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		):
        _UpperCAmelCase    			=   False

  return [i for i in range(2 ,lowercase		) if is_prime[i]]






def      __UpperCAmelCase       (      lowercase = 10**8		):







  """simple docstring"""
  _UpperCAmelCase    			=   calculate_prime_numbers(max_number // 2		)

  _UpperCAmelCase    			=   0
  _UpperCAmelCase    			=   0
  _UpperCAmelCase    			=   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() = }''')
