


'''simple docstring'''


import torch
from transformers import PreTrainedModel, XLMRobertaConfig, XLMRobertaModel



class 	__lowerCAmelCase		(							__SCREAMING_SNAKE_CASE    ):


  '''simple docstring'''







  a_  					=							"""M-CLIP"""






  def __init__(							self :       int	,_a :       str=1024	,_a :       str=768	,**_a :       Optional[Any] ):

        '''simple docstring'''




        A_						:  Any          =				transformerDimSize
        A_						:  Dict          =				imageDimSize
        super().__init__(**_a )







class 	__lowerCAmelCase		(							__SCREAMING_SNAKE_CASE    ):


  '''simple docstring'''







  a_  					=							MCLIPConfig






  def __init__(							self :       Optional[Any]	,_a :       List[Any]	,*_a :       str	,**_a :       List[Any] ):

        '''simple docstring'''




        super().__init__(_a	,*_a	,**_a )
        A_						:  Optional[Any]          =				XLMRobertaModel(_a )
        A_						:  Tuple          =				torch.nn.Linear(
            in_features=config.transformerDimensions	,out_features=config.numDims )






  def        _a							(							self :       int	,_a :       int	,_a :       Any ):

        '''simple docstring'''




        A_						:  Any          =				self.transformer(input_ids=_a	,attention_mask=_a )[0]
        A_						:  Any          =				(embs * attention_mask.unsqueeze(2 )).sum(dim=1 ) / attention_mask.sum(dim=1 )[:, None]
        return self.LinearTransformation(_a ), embs




'''simple docstring'''


from __future__ import annotations

import math




def      lowerCamelCase					(      lowerCamelCase  :      int):

      if num <= 0:
            A_						:  List[Any]          =				F'{num}: Invalid input, please enter a positive integer.'
            raise ValueError(lowerCamelCase)

      A_						:  str          =				[True] * (num + 1)
      A_						:  Tuple          =				[]
      A_						:  str          =				2
      A_						:  Any          =				int(math.sqrt(lowerCamelCase))

      while start <= end:
            # If start is a prime
            if sieve[start] is True:
                  prime.append(lowerCamelCase)

                  # Set multiples of start be False
                  for i in range(start * start							,						num + 1							,						lowerCamelCase):
                        if sieve[i] is True:
                              A_						:  Union[str, Any]          =				False

            start += 1

      for j in range(end + 1							,						num + 1):
            if sieve[j] is True:
                  prime.append(lowerCamelCase)

      return prime


if __name__ == "__main__":
     print(prime_sieve(int(input('Enter a positive integer: ').strip())))
