





'''simple docstring'''




import math







def _lowerCAmelCase     (      _lowerCAmelCase    )->     int:
 __UpperCAmelCase					=   [True] * n
 __UpperCAmelCase					=   False
 __UpperCAmelCase					=   False
 __UpperCAmelCase					=   True

 for i in range(3       ,    int(n**0.5 + 1    )       ,    2    ):
  __UpperCAmelCase					=   i * 2
  while index < n:
   __UpperCAmelCase					=   False
   __UpperCAmelCase					=   index + i

 __UpperCAmelCase					=   [2]

 for i in range(3       ,    _lowerCAmelCase       ,    2    ):
  if is_prime[i]:
   primes.append(_lowerCAmelCase    )

 return primes







def _lowerCAmelCase     (      _lowerCAmelCase = 99_99_66_66_33_33    )->     Union[str, Any]:
 __UpperCAmelCase					=   math.floor(math.sqrt(_lowerCAmelCase    )    ) + 1_00
 __UpperCAmelCase					=   prime_sieve(_lowerCAmelCase    )

 __UpperCAmelCase					=   0
 __UpperCAmelCase					=   0
 __UpperCAmelCase					=   primes[prime_index]

 while (last_prime**2) <= limit:
  __UpperCAmelCase					=   primes[prime_index + 1]

  __UpperCAmelCase					=   last_prime**2
  __UpperCAmelCase					=   next_prime**2

  # Get numbers divisible by lps(current)
  __UpperCAmelCase					=   lower_bound + last_prime
  while upper_bound > current <= limit:
   matches_sum += current
   current += last_prime

  # Reset the upper_bound
  while (upper_bound - next_prime) > limit:
   upper_bound -= next_prime

  # Add the numbers divisible by ups(current)
  __UpperCAmelCase					=   upper_bound - next_prime
  while current > lower_bound:
   matches_sum += current
   current -= next_prime

  # Remove the numbers divisible by both ups and lps
  __UpperCAmelCase					=   0
  while upper_bound > current <= limit:
   if current <= lower_bound:
    # Increment the current number
    current += last_prime * next_prime
    continue

   if current > limit:
    break

   # Remove twice since it was added by both ups and lps
   matches_sum -= current * 2

   # Increment the current number
   current += last_prime * next_prime

  # Setup for next pair
  __UpperCAmelCase					=   next_prime
  prime_index += 1

 return matches_sum


if __name__ == "__main__":
       print(solution())












'''simple docstring'''




from ...configuration_utils import PretrainedConfig
from ...utils import logging


_A:					Union[str, Any]							=				logging.get_logger(__name__)

_A:					List[str]							=				{
    """weiweishi/roc-bert-base-zh""": """https://huggingface.co/weiweishi/roc-bert-base-zh/resolve/main/config.json""",
}






class UpperCAmelCase							(		UpperCAmelCase_							):
    _A :			int						   =       """roc_bert"""



    def __init__(  self     ,			__A=30_522     ,			__A=768     ,			__A=12     ,			__A=12     ,			__A=3_072     ,			__A="gelu"     ,			__A=0.1     ,			__A=0.1     ,			__A=512     ,			__A=2     ,			__A=0.0_2     ,			__A=1E-12     ,			__A=True     ,			__A=0     ,			__A="absolute"     ,			__A=None     ,			__A=True     ,			__A=True     ,			__A=768     ,			__A=910     ,			__A=512     ,			__A=24_858     ,			__A=True     ,			**__A     ,			):
     __UpperCAmelCase					=   vocab_size
     __UpperCAmelCase					=   max_position_embeddings
     __UpperCAmelCase					=   hidden_size
     __UpperCAmelCase					=   num_hidden_layers
     __UpperCAmelCase					=   num_attention_heads
     __UpperCAmelCase					=   intermediate_size
     __UpperCAmelCase					=   hidden_act
     __UpperCAmelCase					=   hidden_dropout_prob
     __UpperCAmelCase					=   attention_probs_dropout_prob
     __UpperCAmelCase					=   initializer_range
     __UpperCAmelCase					=   type_vocab_size
     __UpperCAmelCase					=   layer_norm_eps
     __UpperCAmelCase					=   use_cache
     __UpperCAmelCase					=   enable_pronunciation
     __UpperCAmelCase					=   enable_shape
     __UpperCAmelCase					=   pronunciation_embed_dim
     __UpperCAmelCase					=   pronunciation_vocab_size
     __UpperCAmelCase					=   shape_embed_dim
     __UpperCAmelCase					=   shape_vocab_size
     __UpperCAmelCase					=   concat_input
     __UpperCAmelCase					=   position_embedding_type
     __UpperCAmelCase					=   classifier_dropout
     super().__init__(pad_token_id=__A     ,			**__A					)





