

"""simple docstring"""




import math
def    __SCREAMING_SNAKE_CASE						(						lowercase__      ):
					"""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(lowercase__      ) + 1      )			,							6      ):
										if number % i == 0 or number % (i + 2) == 0:
															return False
					return True
def    __SCREAMING_SNAKE_CASE						(						lowercase__ = 2_000_000      ):
					"""simple docstring"""
					return sum(num for num in range(3			,							lowercase__			,							2      ) if is_prime(lowercase__      )      ) + 2 if n > 2 else 0


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








"""simple docstring"""




import torch
import torch.nn as nn
from transformers.modeling_utils import ModuleUtilsMixin
from transformers.models.ta.modeling_ta import (
    TaBlock,
    TaConfig,
    TaLayerNorm,
)

from ...configuration_utils import ConfigMixin, register_to_config
from ...models import ModelMixin





class 			__UpperCamelCase (   _A     ,		_A     ,		_A						):


		@register_to_config
		def __init__(self :		Optional[Any]     ,     __SCREAMING_SNAKE_CASE :		int     ,     __SCREAMING_SNAKE_CASE :		int     ,     __SCREAMING_SNAKE_CASE :		int     ,     __SCREAMING_SNAKE_CASE :		float     ,     __SCREAMING_SNAKE_CASE :		int     ,     __SCREAMING_SNAKE_CASE :		int     ,     __SCREAMING_SNAKE_CASE :		int     ,     __SCREAMING_SNAKE_CASE :		int     ,     __SCREAMING_SNAKE_CASE :		str     ,     __SCREAMING_SNAKE_CASE :		bool = False     ,     ):
							super().__init__()

							A			=					nn.Linear(__SCREAMING_SNAKE_CASE     ,     __SCREAMING_SNAKE_CASE     ,     bias=__SCREAMING_SNAKE_CASE)

							A			=					nn.Embedding(__SCREAMING_SNAKE_CASE     ,     __SCREAMING_SNAKE_CASE)
							A			=					False

							A			=					nn.Dropout(p=__SCREAMING_SNAKE_CASE)

							A			=					TaConfig(
							    d_model=__SCREAMING_SNAKE_CASE     ,     num_heads=__SCREAMING_SNAKE_CASE     ,     d_kv=__SCREAMING_SNAKE_CASE     ,     d_ff=__SCREAMING_SNAKE_CASE     ,     feed_forward_proj=__SCREAMING_SNAKE_CASE     ,     dropout_rate=__SCREAMING_SNAKE_CASE     ,     is_decoder=__SCREAMING_SNAKE_CASE     ,     is_encoder_decoder=__SCREAMING_SNAKE_CASE     ,     )
							A			=					nn.ModuleList()
							for lyr_num in range(__SCREAMING_SNAKE_CASE):
												A			=					TaBlock(__SCREAMING_SNAKE_CASE)
												self.encoders.append(__SCREAMING_SNAKE_CASE)

							A			=					TaLayerNorm(__SCREAMING_SNAKE_CASE)
							A			=					nn.Dropout(p=__SCREAMING_SNAKE_CASE)


		def 					SCREAMING_SNAKE_CASE__   (self :		int     ,     __SCREAMING_SNAKE_CASE :		Any     ,     __SCREAMING_SNAKE_CASE :		str):
							A			=					self.input_proj(__SCREAMING_SNAKE_CASE)

							# terminal relative positional encodings
							A			=					encoder_inputs.shape[1]
							A			=					torch.arange(__SCREAMING_SNAKE_CASE     ,     device=encoder_inputs.device)

							A			=					encoder_inputs_mask.sum(-1)
							A			=					torch.roll(input_positions.unsqueeze(0)     ,     tuple(seq_lens.tolist())     ,     dims=0)
							x += self.position_encoding(__SCREAMING_SNAKE_CASE)

							A			=					self.dropout_pre(__SCREAMING_SNAKE_CASE)

							# inverted the attention mask
							A			=					encoder_inputs.size()
							A			=					self.get_extended_attention_mask(__SCREAMING_SNAKE_CASE     ,     __SCREAMING_SNAKE_CASE)

							for lyr in self.encoders:
												A			=					lyr(__SCREAMING_SNAKE_CASE     ,     __SCREAMING_SNAKE_CASE)[0]
							A			=					self.layer_norm(__SCREAMING_SNAKE_CASE)

							return self.dropout_post(__SCREAMING_SNAKE_CASE), encoder_inputs_mask





